在 Objective-C 或 Swift 中将大量 NSArray 组合成单个 NSArray
Combine large number of NSArrays into single NSArray in Objective-C or Swift
我可以使用以下代码组合两个 NSArray:
NSArray *combinedArray =firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray];
如果你有大量的数组,比如十个或更多,有没有比一个一个组合更简单的方法?
如果我们谈论的是 Swift,而您只需要一段短距离,那么您可以这样做:
let a = [0, 1]
let b = [2, 3]
let c = [4, 5]
let d = [a, b, c].flatMap { [=10=] }
LinqToObjectiveC 可能对你有帮助。
该项目包含一组 NSArray 和 NSDictionary 方法,这些方法允许您使用流利的语法执行查询,灵感来自 Linq。
我认为您可以像下面这样简单地合并十个或更多数组。
id mergedArray = [tenOrMoreArrays linq_aggregate:^id(id item, id aggregate) {
return [aggregate arrayByAddingObjectsFromArray:item];
}];
*我从未尝试过这个项目,但我认为值得一试。
我可以使用以下代码组合两个 NSArray:
NSArray *combinedArray =firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray];
如果你有大量的数组,比如十个或更多,有没有比一个一个组合更简单的方法?
如果我们谈论的是 Swift,而您只需要一段短距离,那么您可以这样做:
let a = [0, 1]
let b = [2, 3]
let c = [4, 5]
let d = [a, b, c].flatMap { [=10=] }
LinqToObjectiveC 可能对你有帮助。
该项目包含一组 NSArray 和 NSDictionary 方法,这些方法允许您使用流利的语法执行查询,灵感来自 Linq。
我认为您可以像下面这样简单地合并十个或更多数组。
id mergedArray = [tenOrMoreArrays linq_aggregate:^id(id item, id aggregate) {
return [aggregate arrayByAddingObjectsFromArray:item];
}];
*我从未尝试过这个项目,但我认为值得一试。