Objective-C之数字对象

简介:

int , float , long都是OC的基本数据类型,但是(!important)它们都不是对象。但是有的时候需要将他们最为一个对象来使用,例如:NSArray要求存储的值必须是对象。那么这里就可以使用NSNumber类。
一 , 为NSNumber赋值:
① : 赋值一个int类型的值,创建和初始化 int2O = [NSNumber numberWithInteger:100]
意义: 为int2O赋值整形100对象
②:获得init2O的的值 init2Get = [init2O integerValue]
注意 : integerValue说明init2O里面存的是int类型的值
例如:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSNumber *init2O;
        NSInteger init2Get;
        init2O = [NSNumber numberWithInteger:100];
        init2Get = [init2O integerValue];
        NSLog(@"%li",(long)init2Get);
    }
    return 0;
}

结果:
Objective-C之数字对象

二,可以使用initWithInteger来直接实例化一个NSNumber

Objective-C之数字对象

其他的类型

赋值方法 实例化 检索方法
numberWithChar initWithChar charValue
numberWithUnsignedChar initWithUnsignedChar unsignedCharValue
numberWithShort initWithShort shortValue
numberWithUnsignedShort initWithUnsignedShort unsignedShortValue
numberWithInteger initWithInteger integerValue
numberWithUnsignedInteger initWithUnsignedInteger unsignedIntegerValue
numberWithInt initWithInt intValue
numberWithUnsignedInt initWithUnsignedInt unsignedIntValue
numberWithLong initWithLong longValue
numberWithUnsignedLong initWithUnsignedLong unsignedLongValue
numberWithLongLong initWithLongLong longlongValue
numberWithUnsignedLongLong initWithUnsignedLongLong unsignedLongLongValue
numberWithFloat initWithFloat floatValue
numberWithDouble initWithDouble doubletValue
numberWithBool initWithBool booltValue

验证2个number是否是相等的

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSNumber *init2O = [[NSNumber alloc] initWithInteger:100];
        NSInteger init2Get;
        init2Get = [init2O integerValue];
        NSLog(@"%li",(long)init2Get);
        //验证是否相等
        NSNumber *float2O = [[NSNumber alloc] initWithFloat:100.00];
        if( [init2O isEqualToNumber:float2O] == YES){
            NSLog(@"Equal!!!");
        }
    }
    return 0;
}

结果:
Objective-C之数字对象
验证小于

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSNumber *init2O = [[NSNumber alloc] initWithInteger:100];
        NSInteger init2Get;
        init2Get = [init2O integerValue];
        NSLog(@"%li",(long)init2Get);
        //验证是否相等
        NSNumber *float2O = [[NSNumber alloc] initWithFloat:100.00];
        if( [init2O compare:float2O] == NSOrderedAscending){
            NSLog(@"Asc!!!");
        }else{
            NSLog(@"No Asc");
        }
    }
    return 0;
}

结果:
Objective-C之数字对象











本文转自Aonaufly51CTO博客,原文链接:http://blog.51cto.com/aonaufly/2054108 ,如需转载请自行联系原作者


相关文章
|
6月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
402 2
|
4月前
|
开发工具 iOS开发 容器
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
iOS Objective-C 应用连接Azure Storage时,若不关闭账号的匿名访问,程序能正常运行。但关闭匿名访问后,上传到容器时会出现错误:“Public access is not permitted”。解决方法是将创建容器时的公共访问类型从`AZSContainerPublicAccessTypeContainer`改为`AZSContainerPublicAccessTypeOff`,以确保通过授权请求访问。
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
|
6月前
|
缓存 开发工具 iOS开发
优化iOS中Objective-C代码调起支付流程的速度
优化iOS中Objective-C代码调起支付流程的速度
106 2
|
6月前
|
安全 JavaScript 前端开发
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
271 0
|
iOS开发 容器
iOS 代码规范格式 Objective-C(上)
iOS 代码规范格式 Objective-C
434 0
iOS 代码规范格式 Objective-C(上)
|
编译器 API iOS开发
iOS 代码规范格式 Objective-C(下)
iOS 代码规范格式 Objective-C(下)
238 0
|
机器学习/深度学习 API iOS开发
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(一)
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(一)
178 0
|
存储 自然语言处理 Java
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(二)
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(二)
250 0
|
存储 安全 C语言
【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态(一)
【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态(一)
198 0