结合大量NSArrays的成单NSArray的目标C或夫特

问题描述 投票:-4回答:2

我可以用下面的代码组合两个NSArrays:

NSArray *combinedArray =firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray];

如果你有大量的阵列,例如十个或更多的,是有一个简单的他们比一个个结合方式?

ios objective-c swift nsarray
2个回答
2
投票

如果我们谈论的是斯威夫特和所有你需要的是一个简短的方式,那么你可以做这样的:

let a = [0, 1]
let b = [2, 3]
let c = [4, 5]

let d = [a, b, c].flatMap { $0 }

1
投票

LinqToObjectiveC可能是你的帮助。

这个项目包含的NSArray的NSDictionary的和方法,允许您使用流利的语法,通过LINQ的启发,执行查询的集合。

我想你可以合并十个或更多的阵列简单地像下面。

id mergedArray = [tenOrMoreArrays linq_aggregate:^id(id item, id aggregate) {
    return [aggregate arrayByAddingObjectsFromArray:item];
}];

*我从来没有尝试过这个项目,但我认为这是值得一试。

© www.soinside.com 2019 - 2024. All rights reserved.