訪問元素
NSArray *myColors = @[@"Red", @"Green", @"Blue", @"Yellow"];
// Preceding is the preferred equivalent to [NSArray arrayWithObjects:...]
獲得單個專案
objectAtIndex:
方法提供單個物件。NSArray
中的第一個物件是索引 0.由於 NSArray
可以是同質的(持有不同型別的物件),返回型別是 id
(任何物件)。 (可以將 id
分配給任何其他物件型別的變數。)重要的是,NSArray
s 只能包含物件。它們不能包含像 int
這樣的值。
NSUInteger idx = 2;
NSString *color = [myColors objectAtIndex:idx];
// color now points to the string @"Green"
Clang 提供了更好的下標語法作為其陣列文字功能的一部分 :
NSString *color = myColors[idx];
如果傳遞的索引小於 0 或大於 count - 1
,則這兩個都丟擲異常。
第一件和最後一件
NSString *firstColor = myColors.firstObject;
NSString *lastColor = myColors.lastObject;
firstObject
和 lastObject
是計算屬性並返回 nil
而不是為空陣列崩潰。對於單個元素陣列,它們返回相同的物件。雖然,直到 iOS 4.0 才將 firstObject
方法引入 NSArray
。
NSArray *empty = @[]
id notAnObject = empty.firstObject; // Returns `nil`
id kaboom = empty[0]; // Crashes; index out of bounds