ios – 枚举NSArray从givven索引开始搜索两种方式(没有环绕)

ios – 枚举NSArray从givven索引开始搜索两种方式(没有环绕),第1张

概述例.我有一个包含15个对象的数组.我想从给定的索引开始枚举.比如从索引5开始,然后是上面的索引,索引在下面,上面,下面……我不希望它环绕,而是停止并继续在未探索的方向. 所以我的例子中的索引顺序是. 5,6,4,7,3,8,2,9,1,10,0,11,12,13,14 如何才能做到这一点? 这是一个更紧凑的实现,不需要创建子数组: @implementation NSArray (Extensio 例.我有一个包含15个对象的数组.我想从给定的索引开始枚举.比如从索引5开始,然后是上面的索引,索引在下面,上面,下面……我不希望它环绕,而是停止并继续在未探索的方向.

所以我的例子中的索引顺序是.
5,6,4,7,3,8,2,9,1,10,11,12,13,14

如何才能做到这一点?

解决方法 这是一个更紧凑的实现,不需要创建子数组:
@implementation NSArray (Extensions)- (voID)enumerateFromIndex:(NSUInteger)index goBothWaysUsingBlock:(voID (^)(ID obj,NSUInteger IDx,BOol *stop))block{    BOol stop = NO;    for (NSUInteger i = 0; i < self.count && !stop; i++) {        if (index + i < self.count) {            block([self objectAtIndex:index + i],index + i,&stop);        }        if (i != 0 && !stop && i <= index) {            block([self objectAtIndex:index - i],index - i,&stop);        }    }}@end
总结

以上是内存溢出为你收集整理的ios – 枚举NSArray从givven索引开始搜索两种方式(没有环绕)全部内容,希望文章能够帮你解决ios – 枚举NSArray从givven索引开始搜索两种方式(没有环绕)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1104478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存