iOS 将所有 NSArray 合二为一
iOS Get all NSArray into one
我有 NSArray 和 NSArray。我想把所有的 NSArray 合二为一。
我认为有一个简单的函数可以使用,不是吗?
这是我收到的:
(
(
n0eGi1KJWq,
KHGeW32548,
),
(
n0eGi1KJWq
)
)
我想得到:
(
n0eGi1KJWq,
KHGeW32548,
n0eGi1KJWq
)
可以使用一个简单的循环来创建一个新数组:
NSArray *mainArray = ... // the array containing the other arrays
NSMutableArray *finalArray = [NSMutableArray array];
for (NSArray *innerArray in mainArray) {
[finalArray addObjectsFromArray:innerArray];
}
此时 finalArray
将拥有所有其他数组中的所有对象。
您也可以使用 @unionOfArrays
来达到这个目的:
NSArray *flatArray = [array valueForKeyPath: @"@unionOfArrays.self"];
如果需要更深的展平(对于三维数组),使用两次:
NSArray *flatArray = [array valueForKeyPath: @"@unionOfArrays.self.@unionOfArrays.self"];
我有 NSArray 和 NSArray。我想把所有的 NSArray 合二为一。
我认为有一个简单的函数可以使用,不是吗?
这是我收到的:
(
(
n0eGi1KJWq,
KHGeW32548,
),
(
n0eGi1KJWq
)
)
我想得到:
(
n0eGi1KJWq,
KHGeW32548,
n0eGi1KJWq
)
可以使用一个简单的循环来创建一个新数组:
NSArray *mainArray = ... // the array containing the other arrays
NSMutableArray *finalArray = [NSMutableArray array];
for (NSArray *innerArray in mainArray) {
[finalArray addObjectsFromArray:innerArray];
}
此时 finalArray
将拥有所有其他数组中的所有对象。
您也可以使用 @unionOfArrays
来达到这个目的:
NSArray *flatArray = [array valueForKeyPath: @"@unionOfArrays.self"];
如果需要更深的展平(对于三维数组),使用两次:
NSArray *flatArray = [array valueForKeyPath: @"@unionOfArrays.self.@unionOfArrays.self"];