[英]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.