我是Swift的新手。
我正在尝试从Web服务获取一些数据并循环JSON数据以生成一个简单的数组。
DataManager.getDataFromEndpoint{ (endpointData) -> Void in
let json = JSON(data: endpointData)
if let programsOnAir = json["data"]["data"]["on_air"].array{
var onAirArray = []
for onAir in programsOnAir {
var eventName = onAir["event_name"].string
var eventCover = onAir["event_cover"].string
var tuple = (name: eventName!, cover: eventCover!)
onAirArray.insert(tuple, atIndex: 1)
}
println(onAirArray)
}
}
我遇到成员.insert不存在的错误
如果我按照这个var onAirArray = [name: "something, cover: "somethingelse"]
启动数组,那就行了。那就行了。
我需要使用空数组,我需要将它们变为可变,因为我不知道我可以从API端点给出的JSON中得到什么。
我做错了什么?
答案 0 :(得分:1)
问题在于这一行:
var onAirArray = []
由于您没有为数组提供显式类型,因此创建了一个新的NSArray实例,它没有一个名为insert的方法。这就是为什么这可能是您收到的确切错误消息。
' NSArray的'没有名为' insert'
的成员
要解决此问题,请明确说明数组的类型。
var onAirArray: [(String, String)] = []