在iOS开发过程中,避免不了要对请求数据进行非空判断,我们做空值判断的很大一部分原因就是为了在后台接口数据返回一些异常数据的时候,程序能保证稳定性。
举个例子:某些情况下,后台可能由于各种原因,对某个字段返回了null值,这时我们取到的就是[NSNull null]这样一个对象,再比如说,后台可能对某一个数据取值,但取到了0个,这时返回的是一个空组,我们取到的就是@[],空组。
因此判断数组是否为空,需要对各种情况都进行判断。
if (![array isKindOfClass:[NSNull class]] && array.count > 0 && array != nil) { }
这样就确保了数组不是nil对象,也不是NSNull对象,并且至少有一个元素的。
if (array != nil && ![array isKindOfClass:[NSNull class]] && array.count != 0)
数据源数组中包含空数组,怎么移除?(否则将Crash)
if ([self.dataArray containsObject:@[]]) {
[self.dataArray removeObject:@[]];
}