如何从其他Array创建一个数组?

时间:2010-02-14 19:38:48

标签: iphone objective-c arrays dsl

在Objective C中有没有办法从其他几个数组创建数组?

2 个答案:

答案 0 :(得分:4)

NSArray *arrayC = [arrayA arrayByAddingObjectsFromArray:arrayB];

答案 1 :(得分:2)

如果你有一大堆数组,你可以这样做:

NSMutableArray * allObjects = [NSMutableArray array];
[allObjects addObjectsFromArray: array1];
[allObjects addObjectsFromArray: array2];
[allObjects addObjectsFromArray: array3];

此方法每次都会阻止创建数组的新副本(这是arrayByAddingObjectsFromArray:的副作用)。

或者,如果你有一个数组数组,并且想要将它们组合成一个数组,你可以这样做:

for (NSArray * objects in arrayOfArrays) {
  [allObjects addObjectsFromArray:objects];
}

或者:

allObjects = [arrayOfArrays valueForKeyPath:@"@unionOfArrays.self"];