Objective-C Language
Suscripción
Buscar..
Subíndices con NSArray
Los subíndices se pueden usar para simplificar la recuperación y configuración de elementos en una matriz. Dada la siguiente matriz
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
Esta línea
[fruit objectAtIndex: 1];
Puede ser reemplazado por
fruit[1];
También se pueden usar para establecer un elemento en una matriz mutable.
NSMutableArray *fruit = [@[@"Apples", @"Bananas", @"Cherries"] mutableCopy];
fruit[1] = @"Blueberries";
NSLog(@"%@", fruit[1]); //Blueberries
Si el índice del subíndice es igual al conteo de la matriz, el elemento se agregará a la matriz.
Se pueden usar subíndices repetidos para acceder a elementos de matrices anidadas.
NSArray *fruit = @[@"Apples", @"Bananas", @"Cherries"];
NSArray *vegetables = @[@"Avocado", @"Beans", @"Carrots"];
NSArray *produce = @[fruit, vegetables];
NSLog(@"%@", produce[0][1]); //Bananas
Subíndices con NSDictionary
Los subíndices también se pueden usar con NSDictionary y NSMutableDictionary. El siguiente código:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
[myDictionary setObject:@"Baz" forKey:@"Foo"];
NSLog(@"%@", [myDictionary objectForKey:@"Foo"]); // Baz
Se puede acortar a:
NSMutableDictionary *myDictionary = [@{@"Foo": @"Bar"} mutableCopy];
myDictionary[@"Foo"] = @"Baz";
NSLog(@"%@", myDictionary[@"Foo"]); // Baz
Suscripción personalizada
Puede agregar subíndices a sus propias clases implementando los métodos requeridos.
Para subíndices indexados (como matrices):
- (id)objectAtIndexedSubscript:(NSUInteger)idx
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx
Para los subíndices codificados (como diccionarios):
- (id)objectForKeyedSubscript:(id)key
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow