Objective-C Language
Indeksowanie
Szukaj…
Indeksy dolne z NSArray
Za pomocą indeksów dolnych można uprościć pobieranie i ustawianie elementów w tablicy. Biorąc pod uwagę następującą tablicę
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
Ta linia
[fruit objectAtIndex: 1];
Można zastąpić
fruit[1];
Można ich również użyć do ustawienia elementu w zmiennej tablicy.
NSMutableArray *fruit = [@[@"Apples", @"Bananas", @"Cherries"] mutableCopy];
fruit[1] = @"Blueberries";
NSLog(@"%@", fruit[1]); //Blueberries
Jeśli indeks indeksu dolnego jest równy liczbie tablicy, element zostanie dołączony do tablicy.
Aby uzyskać dostęp do elementów zagnieżdżonych tablic, można użyć powtarzających się indeksów dolnych.
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
NSArray *vegetables = @[@"Avocado", @"Beans", @"Carrots"];
NSArray *produce = @[fruit, vegetables];
NSLog(@"%@", produce[0][1]); //Bananas
Indeksy dolne z NSDictionary
Indeksy dolne mogą być również używane z NSDictionary i NSMutableDictionary. Następujący kod:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
[myDictionary setObject:@"Baz" forKey:@"Foo"];
NSLog(@"%@", [myDictionary objectForKey:@"Foo"]); // Baz
Można skrócić do:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
myDictionary[@"Foo"] = @"Baz";
NSLog(@"%@", myDictionary[@"Foo"]); // Baz
Niestandardowe indeksowanie
Możesz dodać indeksowanie do własnych klas, wdrażając wymagane metody.
W przypadku indeksowanego indeksowania (jak tablice):
- (id)objectAtIndexedSubscript:(NSUInteger)idx
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx
W przypadku indeksowania z użyciem klucza (jak słowniki):
- (id)objectForKeyedSubscript:(id)key
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow