gpt4 book ai didi

objective-c - 是否可以将 for 循环重新启动到它的第一次迭代?

转载 作者:太空狗 更新时间:2023-10-30 03:41:52 24 4
gpt4 key购买 nike

在 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 循环——所以如果我能得到第二个意见,告诉我这是最好的方法,那正是我要追求的。不过,出于某种原因,我觉得一定有更好的方法。

最佳答案

不适用于快速枚举,否(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);
}
}

关于objective-c - 是否可以将 for 循环重新启动到它的第一次迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24758800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com