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

我有一个情况:

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

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

实现这个的最佳方法是什么?

===============>>#1 票数: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
    }
}

  ask by Daumantas Versockas translate from so

未解决问题?本站智能推荐: