2016-10-12 4 views
0

NSArrayをNSArrayで使用しました。すべてのNSArrayを1つにしたいと思います。iOS NSArrayを1つにまとめる

私は使用する単純な機能があると思いますか?ここで

は私が受け取るものです:

(
     (
     n0eGi1KJWq, 
     KHGeW32548, 
    ), 
     (
     n0eGi1KJWq 
    ) 
) 

私が取得したいと思います:で

NSArray *mainArray = ... // the array containing the other arrays 
NSMutableArray *finalArray = [NSMutableArray array]; 
for (NSArray *innerArray in mainArray) { 
    [finalArray addObjectsFromArray:innerArray]; 
} 

(
     n0eGi1KJWq, 
     KHGeW32548, 
     n0eGi1KJWq 
) 
+0

、あなたが探している機能を'flatMap'です。 – keithbhunter

+0

@keithbhunterありがとう、しかしObjective-Cを使用しています – Viny76

答えて

3

単にループは、新しい配列を作成するために使用することができますこの点finalArrayには、他のすべての配列のすべてのオブジェクトが含まれます。

+0

申し訳ありません、ありがとう! – Viny76

1

ます。また、この目的のために@unionOfArraysを使用することができます:あなたは(3次元配列のための)深い平坦化が必要な場合は

NSArray *flatArray = [array valueForKeyPath: @"@unionOfArrays.self"]; 

は、それを2回使用します。

NSArray *flatArray = [array valueForKeyPath: @"@[email protected]"]; 
+0

ダイナミックではないけど、本当にダイナミックではない:/ – Viny76

+0

「ダイナミック」とはどういう意味ですか?これはあなたのルート配列の配列の量ではなく、むしろ深さです。 2番目の例は、配列の配列の配列です;) – alexburtnik

+0

ohhhh ok! Coool – Viny76

関連する問題