如何通过从原始元素中删除某些元素来解决从现有NSArray
派生新NSArray
的问题?我知道NSMutableArray
类,但我想知道最少移动部件的方法。
在NSArray
文档的 Deriving arrays 部分中,有arrayByAddingObject:
或arrayByAddingObjectsFromArray:
等方法。但是,没有方法可以通过删除某些对象来派生新数组。
答案 0 :(得分:3)
您可以过滤数组以删除项目。
这样:
filteredArrayUsingPredicate:
似乎符合您的需求。你需要提供一个谓词,它可以是你想要的任何东西。
答案 1 :(得分:2)
列出的方法旁边的内容如何:–filteredArrayUsingPredicate:
–subarrayWithRange:
?
–filteredArrayUsingPredicate:
将返回一个新数组,其中objetcs符合谓词定义的条件。
–subarrayWithRange:
会为您提供某个范围的子阵列
答案 2 :(得分:0)
您可以根据自己的标准使用filteredArrayUsingPredicate:
方法创建新数组。
此外,您可以使用indexesOfObjectsPassingTest:
方法获取包含要保留的对象索引的NSIndexSet,然后使用objectsAtIndexes:
方法从原始数组创建新数组。