gpt4 book ai didi

ios - Objective-C : loop efficiently through particular range of elements within NSArray

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:42:52 25 4
gpt4 key购买 nike

我想快速循环遍历 NSArray 的一部分,例如从包含 1000 个对象的数组中的位置 700 到 950。

我认为在这里使用 [array objectAtIndex:index] 不是一个好方法,因为它比使用 for (Object *obj in array) 的快速迭代要慢

在这种情况下最好的方法是什么?我正在考虑使用

for (Object *obj in [array subarrayWithRange]]) 但不确定开销是多少,因为将为此创建一个子数组。

还有其他好的选择吗?

最佳答案

您可以使用 enumerateObjectsAtIndexes:NSIndexSet 中的索引处枚举数组,可以从一个范围生成。

NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(700, 950)];

[array enumerateObjectsAtIndexes:indexSet options:kNilOptions usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

}];

关于ios - Objective-C : loop efficiently through particular range of elements within NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24460515/

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