数字
Objective-C 提供了创建 NSNumber 对象的速写记法,从而无需调用初始化程序或类工厂方法就可以创建此类对象。只需在数值前面添加 (@) 符号,并选择一个添加在其后面的值类型指示。例如,创建封装整数值和双精度值的 NSNumber 对象,可以编写如下代码:
您甚至可以使用 NSNumber 字面常量来创建封装的 Boolean 值和字符值。
可以创建 NSNumber 对象,表示无符号整型 (unsigned integers)、长整型 (long integers)、长长整型 (longlong integers) 和浮点值 (float values),方法是将字符“U”、“L”、“LL”和“F”分别追加到记号值末尾。例如,创建封装浮点值的 NSNumber 对象,可以编写如下代码:
NSNumber *myIntValue = @32;
NSNumber *myDoubleValue = @3.22346432;
NSNumber *myBoolValue = @YES;
NSNumber *myCharValue = @'V';
●
●
NSNumber *myFloatValue = @3.2F
集对象
Objective-C 代码中的大多数集对象都是一种基础集类(NSArray、NSSet 和 NSDictionary)的实例。这些类用于管理对象组,因此要添加到集 (collection) 中的任何项目都必须是 Objective-C 类的实例。如果要添加标量值,就必须先创建合适的 NSNumber 或 NSValue 实例来表示它。
添加进集的任何对象的生命周期都将不短于集。因为集类会使用强引用来跟踪其内容。除了跟踪其内容之外,每个集类都便于您执行特定的任务,如枚举、访问特定项目或是找出特殊的对象是否属于集的一部分。
NSArray、NSSet 和 NSDictionary 类的内容在创建时就应设定。因为它们不能随时间而变化,所以被称为不可变。每个类还有一个可变的子类,允许您随意添加或移除对象。不同类型的集采用不同的方式组织它们所包含的对象:
NSArray 和 NSMutableArray—数组,包含有序的对象集。通过在数组中指定对象的位置(即索引)来访问对象。数组中首个元素的索引是 0(零)。
NSSet 和 NSMutableSet—集合,储存无序的对象集,其中每个对象仅出现一次。一般是将测试或过滤器应用到集合中的对象,来访问这些集合中的对象。
NSDictionary 和 NSMutableDictionary—字典,其条目储存为键-值对;键是唯一的标识符,通常为字符串,而值则是您要储存的对象。通过指定键,您可以访问该对象。