NSNumber和NSValue

NSNumber

初始化

NSNumber是NSValue的一个子类,可以将数据类型转换为对象类型方便操作

NSNumber *num1 = [NSNumber numberWithInt:101];
其他格式的转换.png

相应的将对象类型转换成数据类型

NSLog(@"%d",num1.intValue);
比较方法
NSNumber *num2 = [NSNumber numberWithInt:12];
NSLog(@"cmp = %ld",[num1 compare:num2]);

在NSNumber中的比较是比较数字大小,而在NSString中的比较是比较相同位置上字符的大小;

NSValue

初始化

可以将一些其他数据类型转换成对象类型

NSValue *value1 = [NSValue valueWithRange:NSMakeRange(1,4)];
NSValue *value2 = [NSValue valueWithBytes:(const void *)value objCType:@encode(type)];
//valueWithBytes objCType方法可以将自定义结构体类型的数据转换成对象,Bytes后面写结构体数据的名字,objCType后面的@encode()括号里写自定义结构体名字;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容