【发布时间】:2011-02-14 23:15:42
【问题描述】:
我在设置 for 循环时偶然发现了以下快捷方式(与我一直使用的教科书示例相比的快捷方式):
for (Item *i in items){ ... }
相对于较长的格式:
for (NSInteger i = 0; i < [items count]; i++){ ... } //think that's right
如果我使用的是较短的版本,有没有办法删除当前正在迭代的项目(即“i”)?还是我需要使用更长的格式?
【问题讨论】:
-
第一个 for 循环称为增强型 FOR 循环,第二个是旧的标准 FOR 循环。我在进行 Java 认证时了解到这一点。
-
如果您确实需要在迭代时从数组中删除项目,并且之后无法像 @Vladimir 建议的那样使用
removeObjectsInArray:或removeObjectsAtIndexes:删除它们,您可以随时迭代原始数组。
标签: objective-c cocoa nsmutablearray