我有一个与循环和迭代相关的问题
我有一个情况:
for (Item *item in items)
{
if (condition)
{
iterateAgain;
}
}
Objective-C提供的continue
运算符只是从一个新的迭代开始。运算符break
将完全循环。
实施此方法的最佳方法是什么?
答案 0 :(得分:3)
您无法使用快速枚举,这就是您使用的内容;改为使用基于索引的循环:
NSSet *items = [Model items];
NSArray *itemsArray = [items allObjects];
for (NSInteger index = 0; index < [itemsArray count]; index++) {
Item *item = itemsArray[index];
// ...
if (condition) {
index = 0;
// Possibly use 'continue' here, depending what else is in the loop
}
}