将 SwiftyJSON 映射到数组
Map SwiftyJSON to array
let json = JSON(response.result.value!)
let things = json.array.map { jsonThing in
Thing()
}!
json.array
returns 一百个 JSON
的数组。在调用 map
之后,我得到一个 Thing
.
为什么我没有新的 Thing
数组?
因为json.array
returns[JSON]?
,而不是[JSON]
因此您在 Optional<[JSON]>
的单个实例上调用了 .map
而不是您期望的 Array<JSON>
。
您需要致电:
json.array?.map ...
SwiftyJSON 有两种 getters:可选的和非可选的。
非可选 getter 具有“...Value”名称语法。
可选:
json.array
非可选:
json.arrayValue
不过要小心:如果你使用非可选 getters 和 nil 值,它会崩溃。如果该值可以为 nil,则最好使用可选 getter 并使用 if let
(可选绑定)或任何其他已知技术安全解包:可选链接、nil 合并等
let json = JSON(response.result.value!)
let things = json.array.map { jsonThing in
Thing()
}!
json.array
returns 一百个 JSON
的数组。在调用 map
之后,我得到一个 Thing
.
为什么我没有新的 Thing
数组?
因为json.array
returns[JSON]?
,而不是[JSON]
因此您在 Optional<[JSON]>
的单个实例上调用了 .map
而不是您期望的 Array<JSON>
。
您需要致电:
json.array?.map ...
SwiftyJSON 有两种 getters:可选的和非可选的。
非可选 getter 具有“...Value”名称语法。
可选:
json.array
非可选:
json.arrayValue
不过要小心:如果你使用非可选 getters 和 nil 值,它会崩溃。如果该值可以为 nil,则最好使用可选 getter 并使用 if let
(可选绑定)或任何其他已知技术安全解包:可选链接、nil 合并等