我正在尝试发送一些带有 segue 的信息,但出现以下错误无法将 JSON 类型的值分配给 NSArray 类型的值
当我尝试做:
self.pageImages = apiResult["images"]
我有 apiResult 设置为:
var apiResult: JSON! = []
然后我将alamofire与swiftyjson一起使用,以获取结果并将其转换为json,但现在我需要它作为NSArray。
我的数据返回为:
{
"somedata": {
some info
},
"someData": {
some info..
},
"images": [
"URL1", "URL2", "URL3"
]
}
如果apiResult
是 SwiftyJSON 返回的 JSON 对象,如果apiResult["images"]
是要分配给pageImages
数组变量的 URL 数组,则必须使用 JSON 类型的 SwiftyJSON 对象的 array
属性:
self.pageImages = apiResult["images"].array
您的数组定义设置为接受类型 JSON
的值 - 您想要的是接受类型 [JSON]
的值 - 即 JSON 值数组。
var apiResult: [JSON!] = []
此外,我不确定为什么您需要隐式解包的可选内容,除非您有充分的理由?
此外,Swift 具有类型推断功能。因此,如果返回的值是 JSON 对象数组,则编译器知道这一点,您不必显式告诉它值类型。