gpt4 book ai didi

ios - 如何快速将数组映射到字典中的键?

转载 作者:行者123 更新时间:2023-11-30 12:50:55 25 4
gpt4 key购买 nike

我想创建一个字典,其键作为日期和事件数组。一个日期可以有多个事件,所以我想将一个日期作为字典的键映射到字符串数组。我将是动态的,日期可以没有事件或日期可以有多个事件。我正在从日期数组中获取数据,我需要将其与事件进行映射。

我尝试过以下代码:

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]] 的字典,那么我相信您所缺少的就是附加到这个数组而不是分配它。字典的值部分是可选的,因此您需要将值附加到非可选数组,然后将其分配回字典的key。此外,如果您知道只会存储 CalenderEventModal 对象,则可以将 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
}
}

关于ios - 如何快速将数组映射到字典中的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40989308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com