let json = JSON(response.result.value!)
let things = json.array.map { jsonThing in
Thing()
}!
json.array
返回一百个JSON
的数组。致电map
后,我最终得到一个Thing
。
为什么我没有Thing
的新数组?
答案 0 :(得分:5)
SwiftyJSON有两种getter:可选和非可选。
非可选的getter拥有" ... Value"名称语法。
可选:
json.array
非可选的:
json.arrayValue
但是要小心:如果你使用零值的非可选getter,它会崩溃。如果值可以为零,则使用可选的getter并使用if let
(可选绑定)或任何其他已知技术安全地展开:可选链接,零合并等等。
答案 1 :(得分:2)
因为-> /something_else, -> /something_else_2, -> etc
返回json.array
,而不是[JSON]?
因此,您已在[JSON]
的单个实例上调用了.map
,而不是您期望的Optional<[JSON]>
。
您需要致电:
Array<JSON>