2016-03-23 11 views
0

私は束のトラックをNSLayoutConstraint[String: [String: NSLayoutConstraint]]に特定するためにネストされた辞書データ構造を使用しています。私は、例えば、1つの辞書エントリのないキーと値のペア[Double]すべてに抽出するにはどうすればよいスウィフトネストされたディクショナリの行へのアクセス

var myNestedDictionary = [String: [Int: Double]]() 
myNestedDictionary["squares"] = [1: 1.0, 2: 4.0, 3: 9.0, 4: 16.0] 
myNestedDictionary["cubes"] = [1: 1.0, 2: 8.0, 3: 27.0, 4: 64.0] 
myNestedDictionary["factorials"] = [1: 1.0, 2: 2.0, 3: 6.0, 4: 24.0] 

:しかし、私のような状況のために、のは、以下の単純な例を考えてみましょう[1.0, 8.0, 27.0, 64.0]myNestedDictionary["cubes"]から入手するにはどうすればよいですか?

答えて

1

最も簡単な方法は、単にアレイに辞書をマッピングするために、次のようになります。辞書は順序付けられていないよう

let values = myNestedDictionary["cubes"]?.map({$0.1}) 

これは必ずしも、キーによって暗示順番に固執しません。昇順を維持したい場合は、最初にキーをソートし、次にソートされたキーをマッピングで使用することができます。

let values = myNestedDictionary["cubes"]?.keys.sort().flatMap {myNestedDictionary["cubes"]![$0]!} 
関連する問題