1. OC的Foundation框架提供了很多对象类型,比如NSArray,NSDictionary,NSDate,NSNumber等等,还包括一些基础数据类型(int,float,double等);
2. OC中提供的包装类是NSNumber, NSValue。其中NSNumber继承于NSValue,因此也继承于NSObject。NSNumber主要针对于基本数据类型的包装,NSValue主要针对结构体进行包装。将包装成NSNumber或NSValue对象类型后存放在数组中, 然后从集合类中取出NSNumber、NSValue对象再转换成为基本数据类。
3.Xcode编译器新特性支持 @[(基本数据类型)]方式,可以直接将基本数据类型转换称为NSNumber对象类型。所以将int,double等基本数据类型直接转换就是在前面加@,如果是变量就用()将变量括起来。但是负数通常还是用()括起来。
4.id类型
(1).在OC中最普遍的3种类型就是id、Class和SEL, id就是指向OC对象的指针,它等价于C语言中的void *,可以映射任何对象指针类型指向它,或者映射它指向其他的对象。当然,也可以传递任何消息给id,但如果该id不支持这个消息就会返回一个运行时异常。(2).id数据类型可存储任何类型的对象。从某种意义上说,它是一般对象类型。如果要用基本类型代替,需要对基本数据类型进行封装。(3).id是一个指向任何一个继承了Object(或者NSObject)类的对象。需要注意的是,id是一个指针,所以在使用id的时候不需要加星号。例如:id foo = nil;(4).在OC中,id取代了int类型成为默认的数据类型(在C语言上的函数返回值,int是默认的返回类型)。