iOS开发中遇到的有关nil/NULL/Nil的问题

今天运行程序的时候,总是出现闪退,Xcode的打印如下:

看了打印说是我的一个count方法有问题,通过虽笨但有效的NSLog打印,我把问题定位到了
其
其中的result是一个 NSArray *result对象。
最后通过打印发现我的result对象是为null,所以在调用[result count]方法时崩溃了。
这提醒了我以后在对对象进行操作之前,最好先进行一下是否为空的一个判断。
通过网上找资料,我发现NSArray对象是否为空的判断不是我之前理解的简单的nil/NULL的判断,而是要对多种情况进行判断,具体如下:
if (array != nil && ![array isKindOfClass:[NSNull class]] && array.count != 0)
参考博客:iOS 判断NSArray和NSDictionary是否为空

我在程序进行[result count]操作之前进行了result非空的判断之后,程序正常运行了。

最后,附上一篇我觉得写的很好的有关nil/Nil/NULL区别的一篇博客。
参考博客:[IOS中类和对象还有,nil/Nil/NULL的区别]

猜你喜欢

转载自blog.csdn.net/weixin_44095139/article/details/94477148