gpt4 book ai didi

ios - 包含包含字典的数组的字典?

转载 作者:行者123 更新时间:2023-11-28 05:32:51 24 4
gpt4 key购买 nike

代码片段:

这是来自一个名为 Static 的结构:

static var messages: Dictionary = [:]

这是一个类函数:

if Static.messages[sender] == nil{ //no message history, create array then append
var messages: [NSMutableDictionary] = [message]
Static.messages[sender] = messages
}
else{ //there is message history, so append
(Static.messages[sender] as Array).append(message)
}

错误:

Immutable value of type 'Array<T>' only has mutating members named 'append'

我正在尝试制作一个对话词典,其中每个项目都是一个人。每个数组都是一个消息列表。消息是字典类型。知道我为什么会收到这条消息吗?

最佳答案

如果编译器清楚您的字典包含什么,您就不需要使这变得困难的强制转换。根据您发布的内容,Static.messages 的实际类型需要类似于 Dictionary<NSObject, Array<NSMutableDictionary>> .

您当前的尝试将字典值转换为 Array然后尝试追加——这失败了,因为 Swift 将这种转换的结果视为不可变的。您需要做的是简单地使用可选链接:

// instead of:
(Static.messages[sender] as Array).append(message)

// use:
Static.messages[sender]?.append(message)

关于ios - 包含包含字典的数组的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963801/

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