【发布时间】:2011-12-12 14:13:09
【问题描述】:
这里应该发生什么?安全吗?
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
}
【问题讨论】:
-
@JeremyP:我自己差点这么说,但很高兴知道它不仅可以正常工作,而且可以按设计工作,它的工作存在独立于实现的原因,而且很可能继续在 OS X 的未来版本中工作。
-
@JeremyP 说真的。在我问这个问题之前我已经这样做了,它没有错误。但这并不能证明任何事情,因为这可能是侥幸。我一直在寻找它背后的理论。
标签: objective-c fast-enumeration