下面是一个代码块,是应该进行测试,以看看字典是空的,如果不是,拉出正确的对象。 然而,出于某种原因,尽管在事实上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