Поиск…


Подстрочные индексы с NSArray

Подстроки могут использоваться для упрощения поиска и установки элементов в массиве. Учитывая следующий массив

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

Эта строка

[fruit objectAtIndex: 1];

Может быть заменено на

fruit[1];

Они также могут использоваться для установки элемента в изменяемом массиве.

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

Если индекс индекса равен счету массива, элемент будет добавлен к массиву.

Повторные индексы могут использоваться для доступа к элементам вложенных массивов.

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

Подписчики с NSDictionary

Подписчики также могут использоваться с NSDictionary и NSMutableDictionary. Следующий код:

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

Может быть сокращено до:

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

Пользовательские подписки

Вы можете добавить подписки на свои классы, выполнив необходимые методы.

Для индексированных подписчиков (например, массивов):

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

Для подписи под ключ (например, словари):

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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow