gpt4 book ai didi

swift - NSTextField 通过使用 TextField 作为字典的名称来进行 Label

转载 作者:行者123 更新时间:2023-11-30 11:26:39 24 4
gpt4 key购买 nike

Swift4、Xcode9.3、Cocoa 应用程序。

如何将labelMain的字符串更改为字典单词,用字符串键?

例如,用户在 TextField 中输入“dict1”,应用程序应该识别出它在 dict1 字典键“2”中,并且标签应该打印出“word2”,而不是其他单词。

    let dict0 : Dictionary<String, String> = ["0" : "word0", "1" : "word1"]
let dict1 : Dictionary<String, String> = ["2" : "word2", "3" : "word3"]

labelMain.stringValue = TextField.stringValue["2"]

错误:无法使用“String”类型的索引为“String”类型的值添加下标

最佳答案

创建一个字典,将字典名称映射到实际字典:

let dict0 : Dictionary<String, String> = ["0" : "word0", "1" : "word1"]
let dict1 : Dictionary<String, String> = ["2" : "word2", "3" : "word3"]
let dictMap = ["dict0": dict0, "dict1": dict1]

if let dict = dictMap[TextField.stringValue], let word = dict["2"] {
labelMain.stringValue = word
}

或使用可选链接:

if let word = dictMap[TextField.stringValue]?["2"] {
labelMain.stringValue = word
}

或者与nil合并运算符结合使用,如果没有找到则提供默认值:

labelMain.stringValue = dictMap[TextField.stringValue]?["2"] ?? ""

关于swift - NSTextField 通过使用 TextField 作为字典的名称来进行 Label,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50666212/

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