我想将字典的值元素分配给 String 变量。
在swiftUI中,字典中的所有值元素都作为String返回?类型。
当一个字符串?type 分配给 String 变量,String 变量在 swiftUI 应用程序中显示为 Optional("theStringIamTryingToDisplay")。
如何摆脱应用显示中的“可选”?
我想将字典的值元素分配给 String 变量。
在swiftUI中,字典中的所有值元素都作为String返回?类型。
当一个字符串?type 分配给 String 变量,String 变量在 swiftUI 应用程序中显示为 Optional("theStringIamTryingToDisplay")。
如何摆脱应用显示中的“可选”?
您必须首先确保该变量实际上不包含nil
. 您可以通过多种方式做到这一点 - 可能很适合阅读:
一种方法是通过可选绑定:
if let myVariable = myDictionary["key"] {
Text(myVariable)
}
另一种是提供默认值:
Text("My result: \(myDictionary["key"] ?? "default value")
还有其他可能性,但这些,加上上面的链接,应该让你开始。
非常感谢,jnpdx :)
好的,经过对选项的大量研究,似乎一种解决方案是:
对于String变量“x”和“y”,dictionary myDictionary=["a":"aaa", "b":"bbb", "c":"ccc"],赋值一个swiftUI字典值,即始终是可选的,使用默认值作为赋值语句的一部分的字符串变量将抑制“可选”显示。看起来像:
y = "(myDictionary[x] ?? "anyDefaultDummyTextHere")"
我应该从@jnpdx 的第二个答案中得到它,但是 Text() 对象让我感到困惑,因为我专注于“y =”赋值语句。
似乎因为 y 总是阻止被默认的东西“??”分配为“nil”,所以 y 不再显示为“可选”。