您将如何通过从原始元素中删除某些元素来解决NSArray从现有元素中派生新元素的问题?NSArray我知道NSMutableArray类,但我想知道移动部件最少的方法。
在文档的Deriving arrays部分NSArray,有类似arrayByAddingObject:or的方法arrayByAddingObjectsFromArray:。但是,没有通过删除某些对象来派生新数组的方法。
您过滤数组以摆脱项目。
所以:
filteredArrayUsingPredicate:
似乎符合您的需求。你需要提供一个谓词,它可以是你想要的任何东西。
列出的方法的下一个怎么样:–filteredArrayUsingPredicate: –subarrayWithRange:?
–filteredArrayUsingPredicate:将返回一个新数组,其中的 objetc 与谓词定义的条件匹配。
–subarrayWithRange:会给你一个特定范围的子数组
filteredArrayUsingPredicate:您可以根据您的标准使用方法创建新数组。
您还可以获取 NSIndexSet 包含要继续使用indexesOfObjectsPassingTest:方法的对象的索引,然后从原始使用objectsAtIndexes:方法创建新数组。