这篇文章主要为大家展示了“ios中数据对象NSNumber怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ios中数据对象NSNumber怎么用”这篇文章吧。
1 Number Objects
integers, floats, and longs在object-c中是基本的数据类型,不是数据对象。
为什么需要使用数据对象:假如你想把数据存到NSArray中,NSArray是不能存储基本的数据类型的,所以需要把基本的数据类型
转化为数据对象,然后存到NSArray中去。 所以这是数据对象的用处。
1.1 创建一个整型的数据对象
NSNumber *intNumber;
NSInteger myInt;
intNumber = [NSNumber numberWithInteger: 100];
还可以采用这样的初始化:intNumber = @100;
//把数据对象转化成基本数据类型
myInt = [intNumber integerValue];
NSLog (@"%li", (long) myInt);
注意如下访问是错误的:
NSLog (@"%li", (long) [myNumber integerValue]);
2 数据对象的比较
isEqualToNumber : 比较2个数据对象是否相等
compare: 比较2个数据对象的大小
A compare:B
NSOrderedAscending : A<B
NSOrderedSame : A=B
NSOrderedDescending: A>B
3 数据对象不可改变
NSNumber *myNumber = [[NSNumber alloc] initWithInt: 50];
...
[myNumber initWithInt: 1000];
这样的代码会让程序挂掉, 数据对象只能被初始化一次
4 numberWithInt: VS numberWithInteger:
使用numberWithInt:方法只能用intValue把它的值还原到基本类型,可以使用%i 打印出来
使用 numberWithInteger:方法,只能用integerValue把它的值还原到基本类型,可以用%li打印出来它的值
5 api应用如下:
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: doubleValue
numberWithBool: initWithBool: boolValue
以上是“ios中数据对象NSNumber怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。