我们都知道oc是面向对象的,但是oc是由c语言扩展而来的,c语言中的int 等类型都不是对象,那么oc 是如何拥有“对象”特征的呢?
oc提供了NSValue 和 NSNumber 来封装c语言的基本类型,这样就具有来面向对象的特征了。。。
NSValue是NSNumber的父类。
NSValue代表更通用的包装类,可以包装 short int float char 对象id 指针 通过对这些的包装就可以添加到NSArray等集合中了;
NSNumber代表更具体的包装类,主要有三个方法:(xxx代表各种数据类型)
把基本类型的值包装成包装类的实例
1 numberWithxxx:
2 initWithxxx:
从包装中取出基本类型的值
3 xxxValue:
通过上面的方法可以看出 基本类型和包装类是相互转换的~~