let json = JSON(response.result.value!)
let things = json.array.map { jsonThing in
Thing()
}!
json.array
返回一個數組JSON
s。在致電map
後,我最終得到一個單一的Thing
。爲什麼我沒有Thing
的新數組?將SwiftyJSON映射到陣列
let json = JSON(response.result.value!)
let things = json.array.map { jsonThing in
Thing()
}!
json.array
返回一個數組JSON
s。在致電map
後,我最終得到一個單一的Thing
。爲什麼我沒有Thing
的新數組?將SwiftyJSON映射到陣列
SwiftyJSON有兩種干將:可選和非可選。
非可選獲取者具有「... Value」名稱語法。
可選:
json.array
非可選:
json.arrayValue
要小心,雖然:如果您使用的非可選干將與零值,它會崩潰。如果該值可以爲零,則最好使用可選的吸氣劑,並使用if let
(可選裝訂)或任何其他已知技術(可選鏈接,零合併等)安全解開包裝。
因爲json.array
回報[JSON]?
,不[JSON]
這樣你就Optional<[JSON]>
單個實例稱爲.map
而非Array<JSON>
如您所期望。
你需要調用:
json.array?.map ...
很好的解釋,但不像Eric D's那麼全面。 ;) –
艱難的演出...... :) –