在iOS开发过程中,避免不了要从远程请求数据。有时候我们拿到的可能会是一个空得数组(当然返回nil的可能小很小)。那么就必要对其进行非空判断,以确保我们项目的稳定性。
假设我们从远程请求到一组数据array,一般会这样处理:
NSArray *array = /***/;
if (!array) {
} else {
}
或者
if (array.count == 0) {
} else {
}
!array
或者array == nil
意味array
是一个空得对象,而不是一个NSArray
类型的对象。在OC中给一个nil
的对象发送消息是没错的,比如在非ARC模式下,我们常常会对一个销毁过后的对象采取这样操作,以防止野指针异常。array.count == 0