【发布时间】:2017-07-14 14:27:31
【问题描述】:
我在没有太多帮助的情况下看到了几个类似的 SO 问题,
我正在尝试使用 timesArray 函数 updateDailyTimes 更新星期一的 availabilityTimes
availabilityTimes 和 timesArray 的示例
var availabilityTimes = [
"Monday": [ "available" : true,
"times": [
["startTime": "9:00 am", "endTime": "1:30 pm" ],
["startTime": "2:30 pm", "endTime": "6:00 pm" ],
["startTime": "7:30 pm", "endTime": "9:00 pm" ]
]
],
"Tuesday": [ "available" : true,
"times": [
["startTime": "9:00 am", "endTime": "6:00 pm" ]
]
]
]
var timesArray = [
["startTime": "9:00 am", "endTime": "1:30 pm" ],
["startTime": "2:30 pm", "endTime": "6:00 pm" ],
["startTime": "7:30 pm", "endTime": "9:00 pm" ]
]
这是我的代码,当我调用下面的函数时,我在代码行value["times"] as [[String : String]] = timesArray 中收到错误消息cannot assign to immutable expression of type [[String : String]]
func updateDailyTimes(day: String, timesArray: [[String:String]]){
guard var updatedTimes = self.availabilityTimes as? [String: AnyObject] else{
return
}
for (key, var value) in updatedTimes {
if key == day{
for (key1, value1) in value as! [String : AnyObject]{
if key1 as String == "times" {
value["times"] as [[String : String]] = timesArray // I get an error message in this line
}
}
}
}
}
【问题讨论】:
-
您正在与具有值语义的 Swift 集合类型作斗争。使用自定义结构或类。它让生活更轻松。
-
@vadian,如果你能详细说明会很棒。
标签: swift