簡體   English   中英

如何快速將數組映射到字典中的鍵?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM