首页 > 代码库 > iOS 开发中弄不清楚的小细节之数组 ——array == nil 和 [array count] == 0区别

iOS 开发中弄不清楚的小细节之数组 ——array == nil 和 [array count] == 0区别

很多时候我们开发者往往对一些比较难的技术点相对要熟悉一些,而对一些细节或者说感觉比较简单的问题总是弄不清楚,而数组的判断首当其冲。

我们在做开发的时候,需要数据,可是很多时候从服务器下发的数据都是JSon格式,当中会有数组的存在,那么开发中会出现一部分的数组中没有元素,这个时候,我们会习惯的用是不是为空来判断。例如:

技术分享技术分享

             

技术分享

但是我们会发现,不起作用,如过为空的时候会报这样的错误:

技术分享


如果我们改动一下就会ok了。怎么改呢,就是在判断的时候改成arr.count!=0,这句话的意思就是说数组中的元素个数部位0,说白了就是数组不为空,这样的话,才能起到判断的效果,那么arr!=nilarr.count!=0有什么区别呢,以为自己浅显的理解是这样的:array == nil [array count] == 0,前者为true的时候表示这个对象是nil,是一个空的指针。后者为true表示这个数组没有任何元素,所以判断数组是不是为空最好用[array count] = 0,以上时自己的简单理解,有不正确的地方,还希望大家补充。


技术分享


iOS 开发中弄不清楚的小细节之数组 ——array == nil 和 [array count] == 0区别