Zoeken…


Subscripten met NSArray

Subscripten kunnen worden gebruikt om het ophalen en instellen van elementen in een array te vereenvoudigen. Gegeven de volgende array

NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];

Deze lijn

[fruit objectAtIndex: 1];

Kan worden vervangen door

fruit[1];

Ze kunnen ook worden gebruikt om een element in een veranderlijke array in te stellen.

NSMutableArray *fruit = [@[@"Apples", @"Bananas", @"Cherries"] mutableCopy];
fruit[1] = @"Blueberries";
NSLog(@"%@", fruit[1]); //Blueberries

Als de index van het subscript gelijk is aan het aantal van de array, wordt het element aan de array toegevoegd.

Herhaalde subscripts kunnen worden gebruikt om toegang te krijgen tot elementen van geneste arrays.

NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
NSArray *vegetables = @[@"Avocado", @"Beans", @"Carrots"];
NSArray *produce = @[fruit, vegetables];
    
NSLog(@"%@", produce[0][1]); //Bananas

Subscripten met NSDictionary

Subscripten kunnen ook worden gebruikt met NSDictionary en NSMutableDictionary. De volgende code:

NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
[myDictionary setObject:@"Baz" forKey:@"Foo"];
NSLog(@"%@", [myDictionary objectForKey:@"Foo"]); // Baz

Kan worden ingekort tot:

NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
myDictionary[@"Foo"] = @"Baz";
NSLog(@"%@", myDictionary[@"Foo"]); // Baz

Aangepast abonnement

U kunt abonnementen toevoegen aan uw eigen klassen door de vereiste methoden te implementeren.

Voor geïndexeerde subscripting (zoals arrays):

- (id)objectAtIndexedSubscript:(NSUInteger)idx
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx

Voor ingetoetste abonnementen (zoals woordenboeken):

- (id)objectForKeyedSubscript:(id)key
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow