A O*_*A O 6 for-loop objective-c fast-enumeration
在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);
}
}
Run Code Online (Sandbox Code Playgroud)
或者有不同的/更好的方式来做我想做的事情?
显然,简单的方法是只有两个独立的for循环 - 所以如果我能得到第二个意见告诉我这是最好的方式,那就是我要拍的东西.出于某种原因,我觉得必须有更好的方法.
没有快速枚举,没有(goto除外),但是如果你使用索引访问方法,你可以:
NSUInteger count = [array count];
for (NSUInteger i = 0; i < count; i++)
{
bool someflag = false;
id object = array[i];
if (isgood(object))
{
someflag = true;
//restart to first object in loop
i = 0;
}
if(someflag)
{
doStuffWithObject(object);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |