Как получить объект для ключа из NSDictionary? - PullRequest
9 голосов
/ 13 декабря 2011

В словаре с именем dict пара значений ключа:

"окно alba \ U2019s" = "Модель в вестиндиях.";

И доотправить objectForKey: Я получаю строку, как "окно Альбы".Когда я отправляю примерно так:

[dict objectForKey: окно alba];

Я ничего не получаю, он показывает ноль.

Ответы [ 3 ]

18 голосов
/ 13 декабря 2011

Для начала, вы можете захотеть сделать эту строку реальной, например, так:

[dict objectForKey:@"alba's window"];

Обратите внимание, что \U2019 не '; но , что совершенно другой символ.

И в целом, придерживаться [a-zA-Z0-9]+ для словарных ключей, вероятно, хорошая идея, если только вы не вставляете и не извлекаете программно, используя точно такую ​​же строку, что и ключ.

6 голосов
/ 23 января 2015

Начиная с iOS6, удобным способом установки и доступа к объекту для ключа из NSDictionary является:

//Setting the object in NSMutableDictionary
dictionary[@"someKey"] = @"someString";

//Accessing the object
NSString *str = dictionary[@"someKey"];
2 голосов
/ 13 декабря 2011

Убедитесь, что ваш dict не равен нулю;отправка сообщения на нулевой объект молча завершится ошибкой и вернет null.

Другой способ проверить ваш ключ / значения - просто NSLog(@"%@",dict);, и это покажет вам содержимое словаря.Обратите внимание, что этот вывод показывает только кавычки вокруг значений, когда значение содержит пробел.

Кроме того, убедитесь, что вы используете те же пары строк, что и ключ - похоже, вы используете "alba\U2019s window" вдополнение к "alba's window".

...