从NSArray派生的最简单方法

时间:2013-09-12 14:47:36

标签: cocoa nsarray

如何通过从原始元素中删除某些元素来解决从现有NSArray派生新NSArray的问题?我知道NSMutableArray类,但我想知道最少移动部件的方法

NSArray文档的 Deriving arrays 部分中,有arrayByAddingObject:arrayByAddingObjectsFromArray:等方法。但是,没有方法可以通过删除某些对象来派生新数组。

3 个答案:

答案 0 :(得分:3)

您可以过滤数组以删除项目。

这样:

filteredArrayUsingPredicate:

似乎符合您的需求。你需要提供一个谓词,它可以是你想要的任何东西。

答案 1 :(得分:2)

列出的方法旁边的内容如何:–filteredArrayUsingPredicate: –subarrayWithRange:

–filteredArrayUsingPredicate:将返回一个新数组,其中objetcs符合谓词定义的条件。

–subarrayWithRange:会为您提供某个范围的子阵列

答案 2 :(得分:0)

您可以根据自己的标准使用filteredArrayUsingPredicate:方法创建新数组。

此外,您可以使用indexesOfObjectsPassingTest:方法获取包含要保留的对象索引的NSIndexSet,然后使用objectsAtIndexes:方法从原始数组创建新数组。