如何处理Swift结构中可选String属性的默认值和图像?

pdkcd3nj  于 2023-09-30  发布在  Swift
关注(0)|答案(1)|浏览(151)

我正在使用Swift中的一个可选结构,其中默认值应该是字符串。但是,我想处理一个默认值也可以是图像的场景。下面是我使用的代码:

Text(quotes.quote ?? Image(systemName: "circle.dashed") )

有人能指导我如何将这个图像回退转换为字符串时,报价。报价是空的?
我的期望是将Text的默认值设置为字符串,如果quotes.quote为nil,我希望使用图像(在本例中为“circle.dashed”)作为后备。

uwopmtnx

uwopmtnx1#

如果你想写一个三元运算符a single expression must return single type,那么你必须写:

quotes.quote != nil ? AnyView(Text(quotes.quote!)) : AnyView(Image(systemName: "circle.dashed"))

然而,这对眼睛来说有点困难,我想避免强制展开:

if let quote = quotes.quote {
    Text(quote)
} else {
    Image(systemName: "circle.dashed")
}

相关问题