Objective-C从头开始循环

时间:2015-05-17 10:27:05

标签: objective-c loops for-loop foreach

我有一个与循环和迭代相关的问题

我有一个情况:

for (Item *item in items)
{
    if (condition)
    {
        iterateAgain;
    }
}

Objective-C提供的continue运算符只是从一个新的迭代开始。运算符break将完全循环。

实施此方法的最佳方法是什么?

1 个答案:

答案 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
    }
}