iPhone开发基础NSNumber对象封装

iPhone 开发的基础技能里,NSNumber绝对是个绕不开的点。OC 里的原始数据类型像 intfloat 这些,没法直接当对象用,这时候就轮到 NSNumber出场了。它就像一个小包装盒,把这些基本类型打包成对象,方便你放进 NSArrayNSDictionary 这种只能存对象的集合里。

NSNumber的创建方式挺多,经典写法像 [NSNumber numberWithInt:10],现在更流行的其实是字面量写法,简单一句 @10 就搞定了。要是你用过 @YES@3.14,那你已经在用它了,挺自然的。

除了能存值,它还能取值,比如用 intValuefloatValue 这些方法,就能把包装好的数字取出来用。甚至你还能用它们做判断、比较,像 isEqualToNumber: 就挺常用的,判断两个数字对象是不是一个意思。

项目里,比如你要往数组里塞几个不同类型的数据:NSArray *arr = @[@10, @3.14, @YES],一行,清晰明了。还有种情况,比如你要把 枚举值 放进集合,也可以用 +numberWithUnsignedInteger: 包一层,实用。

NSNumber就是让基本类型也能“像个对象那样”参与到整个 OC 世界的运作里。如果你刚入门,建议多练练它的创建和取值方法,写代码时会顺手多。如果你之前只用过字面量,也可以翻翻老写法,项目里偶尔还是会遇到。

rar 文件大小:2.22KB