Использование NSDictionaries - PullRequest
0 голосов
/ 27 мая 2011

У меня есть несколько объектов NSString, которые я хочу сохранить в NSDictionary.

Каким образом NSDictionary инициализируется с помощью ключей и нужно ли тут же задавать значения, или же можно настроить словарь с помощьютолько ключи и объекты, установленные позже?

Ответы [ 2 ]

3 голосов
/ 27 мая 2011

Для начала вот ссылка на документацию NSDictionary и NSMutableDictionary

Вы можете создать NSMutableDictionary только с ключами, передав [NSNull null] в качестве объекта для этого ключа. Здесь важно использовать изменяемый словарь, иначе вы не сможете изменить словарь после того, как его создали, а словарь, в котором есть только ключи вместо объектов, бесполезен.

Вот для чего NSNull : для предоставления нулевых значений для типов коллекций, которые не допускают nils.

2 голосов
/ 27 мая 2011

Словарь может быть инициализирован как пустой или как список (value,key) пар.

Инициализация словаря только ключами, а не значениями, бесполезна / бессмысленна в Objective-C, поскольку она будет эквивалентна пустой инициализации.

Если вы хотите создать словарь и хотите иметь возможность устанавливать объекты позже, вы должны использовать NSMutableDictionary, который не имеет статической инициализации своих данных, с помощью метода setObject:forKey:.

...