【发布时间】:2014-07-15 12:57:55
【问题描述】:
在 Objective-C 中,是否可以重新开始 for 循环的第一次迭代?在找到“好”对象之前,我不想对我的对象做任何事情,此时我想回去对每个对象做任何事情,直到那个好对象。
所以,
bool someflag = false;
for (id object in array)
{
if(object is good)
{
someflag = true;
//restart to first object in loop
}
if(someflag)
{
doStuffWithObject(object);
}
}
或者是否有不同/更好的方法来做我想做的事情?
显然,简单的方法是只使用两个单独的for 循环——所以如果我能得到第二个意见,告诉我这是最好的方法,那正是我要争取的。不过,出于某种原因,我觉得必须有更好的方法。
【问题讨论】:
-
你为什么不想用两个循环来做呢?这样做对我来说是有意义的。
-
@Fogmeister 我知道有更好的方法,但通常我只会使用 2 个循环。只是好奇人们能想出什么
-
啊,好的,不用担心:D
-
回到标记对象时不要忘记退出循环!甚至可能想用好对象本身作为标志,这样你就知道什么时候该打破了。 (我意识到这是伪代码。)
标签: objective-c for-loop fast-enumeration