下面是一个代码块,它应该测试字典是否为空,如果不是,则取出正确的对象。但是,由于某种原因,尽管if
检查失败,但代码仍然执行。是否有一些NSNull
我不理解的工作方式的怪癖,或者这是苹果的错误?
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