gpt4 book ai didi

iphone - 快速枚举?

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:05 24 4
gpt4 key购买 nike

我目前正在开发一款游戏,需要非常快速的数组枚举。我需要每秒运行代码 30 次,现在想问一下完成任务的最佳方法是什么。我想枚举一个数组,同时修改它。

目前我知道 2 个:

NSMutableArray*array;

int i=0;

int x=0;
for (myclass*spr in [[array copy] autorelease]) {
if ([spr isInBounds]) {
//do something
} else {
[array removeObjectAtIndex:x];
x--;
}

x++;
}

int x=0;

while(x<[array count])
{
if(![(myclass*)spr isInBounds]) {
[array removeObjectAtIndex:x];
x--;
}
x++;
}

最快的方法是什么?你知道其他方法吗?感谢您的帮助!

最佳答案

在您的特定情况下,最好的方法可能是在 NSIndexSet 中保存您不关心的对象的索引,并在循环后使用它们一次删除所有对象。

NSMutableIndexSet *is = [NSMutableIndexSet indexSet];
[array enumerateObjectsUsingBlock:^(myclass *spr, NSUInteger idx, BOOL *stop) {
if ([spr isInBounds]) {
// do something
} else {
[is addIndex:idx];
}
}];
[array removeObjectsAtIndexes:is];

关于iphone - 快速枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7732524/

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