gpt4 book ai didi

swift - 为单个键添加多个定义

转载 作者:行者123 更新时间:2023-11-28 15:56:25 26 4
gpt4 key购买 nike

好吧,假设我有一本字典:

var someDict = [String: String]()

我可以添加一个键和定义给它:

someDict["Smiling"] = ":)

但假设我想为 "Smiling" 添加另一个定义,例如 :D

someDict["微笑"]? += ":D"

print(someDict)
["Smiling": ":):D"]

现在我要的是

[“微笑”:“:)”,“:D”]。我知道这行不通,因为 , 分隔符。

所以我需要一种方法来使用 ["Smiling": [":)", ":D"]],这样我就可以通过 someDict["Smiling"][1],这将等于 :D

我不会列出我尝试过的,因为这些都是无用的,而且我不知道我在做什么。

总结一下,

我希望能够在字典中添加一个键,可能是在 for 循环中。

最佳答案

您只需要这种类型的数据格式:

var someDict = [String: [String]]()

初始化:

someDict["Smiling"] = [":)"]

这样你就可以这样做:

someDict["Smiling"]?.append(":D")

并称它为:

someDict["Smiling"]?[1] //returns ":D"

编辑:

可能值得一提的是,正如@dfri 所说,使用显式数组索引调用 ("[1]") 是不安全的,因为如果您的数组没有两个或更多值,这将失败。一种“Swifty”解决方案是通过检查无效索引是否在数组中来验证它。

这可能看起来像这样(感谢@Hamish 提供的代码):

let idx = 1

if let arr = someDict["Smiling"], arr.indices.contains(idx) {
print(arr[idx]) // :D
}

关于swift - 为单个键添加多个定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41660198/

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