【发布时间】:2017-05-21 23:18:37
【问题描述】:
组装传递给GRMustache.swift 以呈现胡子模板的数据有效负载,我需要将数据附加到字典中先前定义的数组中。
我的数据结构开始于:
var data: [String: Any] = [
"key1": "example value 1",
"key2": "example value 2",
"items": [
// I need to append here later
]
]
items 密钥对是我需要稍后在循环中附加的集合。
要添加到 data["items"] 数组,我正在尝试类似:
for index in 1...3 {
let item: [String: Any] = [
"key": "new value"
]
data["items"].append(item)
}
此错误,因为Any? 类型的值没有成员append,并且二元运算符+= 不能应用于Any? 和[String : Any] 类型的操作数。
这是有道理的,因为我需要将值转换为追加;但是,我不能改变数组。
强制转换为数组,强制向下转换是否报错:
(data["items"] as! Array).append(item)
“有吗?”不能转换为 'Array<_>';你的意思是用'as!'强制沮丧?
不能对'Array<_>'类型的不可变值使用变异成员
好像我的演员表错了;或者,也许我以错误的方式处理这个问题。
关于如何随时间迭代地填写data["items"] 有什么建议吗?
【问题讨论】:
标签: arrays swift dictionary swift3