首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

迭代时从NSMutableArray中删除的最佳方法是什么?

迭代时从NSMutableArray中删除的最佳方法通常是使用以下两种方法之一:

  1. 使用[array enumerateObjectsUsingBlock:]方法迭代数组中的对象,并使用[block removeObjectForKey:]方法来删除其中的对象。例如,如果要将index=2的对象从数组中删除,可以这样定义一个方法:
代码语言:swift
复制
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    if (idx == 2) {
        [array removeObjectAtIndex:idx];
    }
    }];
  1. 使用filter函数和firstObject函数来提取第一个匹配对象,然后将剩下的对象添加到一个新数组中。例如,如果要从数组中删除index=2的对象:
代码语言:swift
复制
let result = array.filter{ !($0 == objectAt:[array indexOfObject:objectAt:2]) }
if ![result count] > 0 {
  result.append(objectAt: [array objectAtIndex:2]);
}

这里,objectAt:是在Swift 5中使用的新的语法,它类似于.firstObject.lastObject,并用于更简洁地访问对象。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券