无法使用“AnyObject”类型的索引下标“[AnyObject]”类型的值

时间:2017-07-18 08:11:37

标签: swift

我在Swift 3.0中工作,我的数组出了问题。 每行包含一个带有2个值的字典。

当我想更改此值时,我收到此消息:

“不能使用'AnyObject'类型的索引下标'[AnyObject]'类型的值”

所以,

我创建“行”

var rows: [AnyObject] = ["" as AnyObject]

然后我为行[0]赋值,以便在开始时在TableView中有一些东西。

let firstLine: [String : Any] = ["time": time, "Playing": false]
rows[0] = firstLine as AnyObject

我的问题就在这里。当我尝试更改“行”中的值时。

var i: Int = 0
for i in rows {
rows[i]["playing"] = true
rows[i]["time] = time
}

祝你们过得愉快!

1 个答案:

答案 0 :(得分:2)

请勿将您的数组声明为[AnyObject],因为您显然希望存储具体类型 - Dictionary。改为使用

var rows: [[String : AnyObject]] = [[:]]

let firstLine: [String : AnyObject] = ["time": time, "Playing": false]
rows.append(firstLine)