这里应该发生什么?安全吗?
NSArray *nullArray=nil;
for (id obj in nullArray) {
// blah
}
更具体地说,我是否必须这样做:
NSArray *array=[thing methodThatMightReturnNil];
if (array) {
for (id obj in array) {
// blah
}
}
或者这样好吗?:
for (id obj in [thing methodThatMightReturnNil]) {
// blah
}
最佳答案
快速枚举通过-countByEnumeratingWithState:objects:count:
方法实现,返回0表示循环结束。由于 nil
为任何方法返回 0
,因此您的循环永远不应执行。 (所以它是安全的。)
关于objective-c - 对 nil 对象进行快速枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7849957/