目标 C-NSMutablearray 特定索引存储在另一个数组中

ObjectiveC-NSMutable array specific indexes stored in another array

我是否可以将 NSMutableArray 中的特定对象添加到 objective c 中的另一个数组?我可以在 Java 中完成,但无法在 objective c

中完成

例如,我有一个包含 7 个字符串的数组,我只想将索引 1、3、7 存储在另一个数组中。

这是从特定索引处的字符串值创建数组的一种方法:

NSMutableArray *array = ...;    // Array with strings
NSArray *someOtherArray = @[ array[1], array[3], array[7] ];

所以array[1]someOtherArray[0]都指向同一个(NSString)实例,等等

这就是 NSIndexSet(和 NSMutableIndexSet)的用途。

您可以手动构建它或在 NSArray 上使用辅助方法,例如:

indexesOfObjectsPassingTest:

从块构建索引集。然后,您可以使用 for 循环枚举 NSIndexSet - 使用索引调用原始数组。