在Objective C中有没有办法从其他几个数组创建数组?
答案 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"];