2015-10-21 3 views
0

Мне нужно иметь дело с подобным Словарем или более вложенным. Как я могу получить доступ к полям типа «twotwo»? Или есть ли какая-то лучшая возможность моделировать такую ​​структуру?Быстрые поля доступа во вложенном словаре

let nestedDict = [ 
    "fieldOne": "name", 
    "fieldTwo": "name", 
    "fieldThree": 
     [ 
      [ 
      "twoOne": "some text", 
      "twoTwo": true, 
      "twoThree": 1e-40 
      ], 
      [ 
      "twoOne": "some text", 
      "twoTwo": true, 
      "twoThree": 1e-40 
      ] 
     ] 
] 
+0

Вы пробовали 'nestedDict [" fieldThree "] [" twoTwo "]'? – Arc676

+0

Есть несколько массивов между nestedDict ["fieldThree"] [0] [0] ["twoTwo"] сбой – SnowMax

ответ

1

nestedDict является Dictionary, вы получите fieldThree с

let fieldThree = nestedDict["fieldThree"] as! [[String:AnyObject]] 

fieldThree является Н. Array из [String:AnyObject] словарей, вы получите значение twoTwo первого элемента массива с

let twoTwo = fieldThree[0]["twoTwo"] as! Bool 

Вы даже можете получить все значения ключа twoTwo в массиве

let allTwoTwo = fieldThree.map { $0["twoTwo"] as! Bool } 
+0

Большое вам спасибо! :) –

Смежные вопросы