一种零变量IOS

Ali*_*Ali 3 debugging null ios

我实际上正在调试我的iOS应用程序:我想测试变量是否为null:

愚蠢的问题吧!

if (var !=nil) { doSomeWork ; }
Run Code Online (Sandbox Code Playgroud)

因此,如果变量var等于nil并且我们想要在调试器区域中打印此结果,我们将具有类似的结果:

2012-10-12 21:33:01.553应用程序名称[892:13d03](null)

这很酷,但实际上当我尝试在调试器区域中打印变量内容时,它一直显示:

2012-10-12 21:33:01.553应用程序名称[892:13d03] <null>

你能告诉我们这两种null之间有什么区别,如何判断第二种是否等于nil.

提前致谢

Lil*_*ard 6

第二个输出<null>来自NSNull单身人士.这是一个名为的类NSNull,它有一个类方法+null,NSNull每次都返回相同的单例实例.这个类的主要目的是它可以作为nil你无法放置的地方的替身nil,例如在集合中.例如,JSON库通常NSNull在JSON包含时返回null.

你可以简单地通过询问测试这个如果是==[NSNull null](因为它是一个单),或者如果可能[obj isKindOfClass:[NSNull null]].[obj isEqual:[NSNull null]]如果你愿意,你可以使用.您甚至可以询问是否== kCFNull需要,因为CFNull并且NSNull是免费的桥接.无论您想要什么样的风格都取决于您.