Objective-C Language
Indice
Recherche…
Des indices avec NSArray
Les indices peuvent être utilisés pour simplifier la récupération et la définition d'éléments dans un tableau. Étant donné le tableau suivant
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
Cette ligne
[fruit objectAtIndex: 1];
Peut être remplacé par
fruit[1];
Ils peuvent également être utilisés pour définir un élément dans un tableau mutable.
NSMutableArray *fruit = [@[@"Apples", @"Bananas", @"Cherries"] mutableCopy];
fruit[1] = @"Blueberries";
NSLog(@"%@", fruit[1]); //Blueberries
Si l'index de l'indice est égal au compte du tableau, l'élément sera ajouté au tableau.
Des indices répétés peuvent être utilisés pour accéder aux éléments des tableaux imbriqués.
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
NSArray *vegetables = @[@"Avocado", @"Beans", @"Carrots"];
NSArray *produce = @[fruit, vegetables];
NSLog(@"%@", produce[0][1]); //Bananas
Des indices avec NSDictionary
Les indices peuvent également être utilisés avec NSDictionary et NSMutableDictionary. Le code suivant:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
[myDictionary setObject:@"Baz" forKey:@"Foo"];
NSLog(@"%@", [myDictionary objectForKey:@"Foo"]); // Baz
Peut être raccourci à:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
myDictionary[@"Foo"] = @"Baz";
NSLog(@"%@", myDictionary[@"Foo"]); // Baz
Indice personnalisé
Vous pouvez ajouter un indice à vos propres classes en appliquant les méthodes requises.
Pour les index indexés (comme les tableaux):
- (id)objectAtIndexedSubscript:(NSUInteger)idx
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx
Pour indexer les clés (comme les dictionnaires):
- (id)objectForKeyedSubscript:(id)key
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key