如何将 String? 类型的对象分配给 String 类型的变量?

How do you assign a String?-type object to a String-type variable?

我想将字典的值元素分配给字符串变量。

在 swiftUI 中,字典中的所有值元素都以字符串形式返回?类型。

什么时候是字符串? 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",字典myDictionary=["a":"aaa", "b":"bbb", "c":"ccc"],一个swiftUI的赋值将始终是可选的字典值添加到使用默认值作为赋值语句的一部分的字符串变量将抑制“可选”显示。看起来像:

y = "(myDictionary[x] ?? "anyDefaultDummyTextHere")"

我应该从@jnpdx 的第二个答案中得到它,但是 Text() 对象让我感到困惑,因为我专注于“y =”赋值语句。

似乎因为 y 总是阻止被默认的“??”分配为“nil”,所以 y 不再显示为“可选”。