iOS数组遍历删除问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS数组遍历删除问题相关的知识,希望对你有一定的参考价值。
参考技术A 刚好遇到有人问这个问题,因为遍历一次再删除之后会导致数组越界的错误,直接说解决办法吧用逆序枚举器的方法可以删除多个元素
[arrenumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^( id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop)
UIViewController*VC = obj;
//如果是这两个控制器就删除哈
if ([VC isKindOfClass:[SecondViewController class]] || [VC isKindOfClass:[FirstViewController class]])
[arrremoveObject:VC];
];
有人应该用过这个,这个不能删除多个元素,因为数组发生改变的时候就自动停止遍历了,stop设置成no也是不管用的哈,当然这个方法也不是针对删除的,具体其他用法自己开发吧
[arrenumerateObjectsUsingBlock:^( id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop)
UIViewController*VC = obj;
if ([VC isKindOfClass:[SecondViewController class]])
[arrremoveObject:VC];
];
《C#零基础入门之百识百例》(二十一)数组遍历 -- 删除数组零元素
以上是关于iOS数组遍历删除问题的主要内容,如果未能解决你的问题,请参考以下文章