[英]How to map array to a key in dictionary in swift?
我想创建一个以键为日期和事件数组的字典。一个日期可以有多个事件,所以我想将一个日期作为字典的键映射到字符串数组。日期可以有多个事件。我要从日期数组中获取数据,我需要将其与事件进行映射。
我试过下面的代码:
func addEventToDictionary(eventModal:CalenderEventModal,date:Date) {
var key:String = self.dateFormatter().string(from: date)
if let val = dict_events[key] {
} else {
dict_events[key] = [Any]()
}
dict_events[key] = eventModal
}
这里的事件模态是事件的对象。
假设dict_events
是一个声明类型为[String: [Any]]
的字典,那么我相信您所缺少的只是追加到此数组而不是分配它。 字典的值部分是Optional,因此您需要将值附加到非Optional数组,然后将其分配回字典的key
。 另外,如果您知道只存储CalenderEventModal
对象,则可以将dict_events
的类型dict_events
为[String: [CalenderEventModal]]
。 您的代码修复将如下所示:
var dict_events: [String: [CalenderEventModal]] = [:]
func addEventToDictionary(eventModal: CalenderEventModal, date: Date) {
var key: String = self.dateFormatter().string(from: date)
if var val = dict_events[key] {
val.append(eventModal)
dict_events[key] = val
} else {
let events = [CalenderEventModal]()
events.append(eventModal)
dict_events[key] = events
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.