因为NSArray中存储的是指针,并且通过在加入到容器中的时候retain来保证指针的有效性。
OC的堆上存储是基于引用计数的,而原始数据类型的操作方式和OC类型是不同的(不需要retain)。
(百度知)
- NSNumber *icon_height; // 创建NSNumber对象
- margin_left1 = [NSNumber numberWithFloat: 15.0 / 2]; // 将浮点型转换成NSNumber类型的对象
- NSArray *array1;
- array1 = [NSArray arrayWithObjects:icon_height,nil]; //将浮点型对象放入数组中
- float margin_width = [[arrTemp objectAtIndex:0] floatValue]; //取出数组中的元素,并将其转换成浮点型
- 各种数值
复制代码
NSArray和NSDictionary只能存储对象,而不能直接存储任何基本类型的数据,如int、float 或 struct。但是你可以用对象来封装基本数值。 |