Swift 2.2 - 不能使用索引类型为'String'的'[Dictionary <string,anyobject =“”>]'的值类型下标

时间:2016-05-31 09:32:42

标签: arrays dictionary subscript swift2.2

我有一个定义如下的函数:

private func append(inout ret: [Dictionary<String, AnyObject>]?, element: Dictionary<String, AnyObject>) {

    if ret == nil {
        ret = [Dictionary<String, AnyObject>]()
        ret?.append(element)
        return
    }

    let retGateways = ret!["gateways"] as! [Dictionary<String, AnyObject>] // ERROR: Cannot subscript...

    // more commands...
}

ret可以是:

[[“name”: “NameA”, “gateways”: [[“id”: “ID1”, “name”: “Name1”], [“id”: “ID2”, “name”: “Name2”]]]]

element可以是

[“name”: “NameB”, “gateways”: [[“id”: “ID3”, “name”: “Name3”], [“id”: “ID4”, “name”: “Name4”]]]

我得到的错误是Cannot subscript a value type of '[Dictionary<String, AnyObject>]' with an index of type 'String'

我在这里引用了一些线程,但它仍然没有消除这个错误。

请告诉我如何。

由于

1 个答案:

答案 0 :(得分:0)

哦,我明白了。

在我的函数中,retArray,而不是Dictionary