Objective-C Language
Subskription
Suche…
Subskriptionen mit NSArray
Subskripte können verwendet werden, um das Abrufen und Festlegen von Elementen in einem Array zu vereinfachen. Gegeben das folgende Array
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
Diese Linie
[fruit objectAtIndex: 1];
Kann durch ersetzt werden
fruit[1];
Sie können auch verwendet werden, um ein Element in einem veränderbaren Array festzulegen.
NSMutableArray *fruit = [@[@"Apples", @"Bananas", @"Cherries"] mutableCopy];
fruit[1] = @"Blueberries";
NSLog(@"%@", fruit[1]); //Blueberries
Wenn der Index des Index der Anzahl des Arrays entspricht, wird das Element an das Array angehängt.
Wiederholte Subskripte können verwendet werden, um auf Elemente verschachtelter Arrays zuzugreifen.
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
NSArray *vegetables = @[@"Avocado", @"Beans", @"Carrots"];
NSArray *produce = @[fruit, vegetables];
NSLog(@"%@", produce[0][1]); //Bananas
Subskriptionen mit NSDictionary
Subskripte können auch mit NSDictionary und NSMutableDictionary verwendet werden. Der folgende Code:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
[myDictionary setObject:@"Baz" forKey:@"Foo"];
NSLog(@"%@", [myDictionary objectForKey:@"Foo"]); // Baz
Kann verkürzt werden auf:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
myDictionary[@"Foo"] = @"Baz";
NSLog(@"%@", myDictionary[@"Foo"]); // Baz
Benutzerdefinierte Subskription
Sie können Ihren eigenen Klassen Subskription hinzufügen, indem Sie die erforderlichen Methoden implementieren.
Für indizierte Subskription (wie Arrays):
- (id)objectAtIndexedSubscript:(NSUInteger)idx
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx
Für verschlüsselte Subskriptionen (wie Wörterbücher):
- (id)objectForKeyedSubscript:(id)key
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key