Более поздние версии Objective-C и Clang имеют современный синтаксис для этого:
if (myDictionary[myKey]) {
}
Вам не нужно проверять равенство с nil, потому что только объекты Objective-C, отличные от nil, могут бытьхранится в словарях (или массивах).И все объекты Objective-C являются истинными значениями.Даже @NO
, @0
и [NSNull null]
оцениваются как истинные.
Редактировать: Swift теперь вещь.
Для Swift вы должны попробовать что-то вроде следующего:
if let value = myDictionary[myKey] {
}
Этот синтаксис будет выполнять блок if только в том случае, если myKey находится в dict, и если это так, то значение сохраняется в значениипеременная.Обратите внимание, что это работает даже для значений фальси, таких как 0.