Swift空数组没有名为.insert的成员

时间:2015-03-11 12:35:44

标签: arrays swift

我是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中得到什么。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题在于这一行:

var onAirArray = []

由于您没有为数组提供显式类型,因此创建了一个新的NSArray实例,它没有一个名为insert的方法。这就是为什么这可能是您收到的确切错误消息。

  

' NSArray的'没有名为' insert'

的成员

要解决此问题,请明确说明数组的类型。

var onAirArray: [(String, String)] = []