Ниже приведен блок кода, который должен проверять, чтобы узнать, является ли словарь нулевым, а если нет, вытащите правильный объект. Однако по какой-то причине, несмотря на то, что проверка if
не выполняется, код все еще выполняется. Есть ли какая-то причуда, с которой работает NSNull
, что я не понимаю, или это ошибка Apple?
if (svcUser && !(svcUser == (id)[NSNull null])) {
return [svcUser objectForKey:@"access_level"];
}
Ответ консоли:
(lldb) print svcUser && !(svcUser == (id)[NSNull null])
(bool) $0 = false
(lldb) continue
-[NSNull objectForKey:]: unrecognized selector sent to instance 0x2b51678