Objective-C Language
サブスクリプト
サーチ…
NSArrayでの添え字
添字を使用すると、配列内の要素の取得と設定を簡素化できます。与えられた配列
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
この行
[fruit objectAtIndex: 1];
置き換えることができます
fruit[1];
それらは、変更可能な配列内の要素を設定するためにも使用できます。
NSMutableArray *fruit = [@[@"Apples", @"Bananas", @"Cherries"] mutableCopy];
fruit[1] = @"Blueberries";
NSLog(@"%@", fruit[1]); //Blueberries
添え字の添え字が配列の数と等しい場合、要素は配列に追加されます。
反復された添え字を使用して、ネストされた配列の要素にアクセスすることができます。
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
NSArray *vegetables = @[@"Avocado", @"Beans", @"Carrots"];
NSArray *produce = @[fruit, vegetables];
NSLog(@"%@", produce[0][1]); //Bananas
NSDictionaryの添え字
サブスクリプトは、NSDictionaryおよびNSMutableDictionaryでも使用できます。次のコード:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
[myDictionary setObject:@"Baz" forKey:@"Foo"];
NSLog(@"%@", [myDictionary objectForKey:@"Foo"]); // Baz
短縮することができます:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
myDictionary[@"Foo"] = @"Baz";
NSLog(@"%@", myDictionary[@"Foo"]); // Baz
カスタムサブスクリプティング
必要なメソッドを実装することによって、独自のクラスにサブスクリプトを追加できます。
添え字付き添字(配列など)の場合:
- (id)objectAtIndexedSubscript:(NSUInteger)idx
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx
キー付きサブスクリプト(辞書など)の場合:
- (id)objectForKeyedSubscript:(id)key
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow