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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow