所以我想利用一些性能最好的东西,但是也要检查字符串上的nil
和not empty
。
示例:如果字符串不为nil,但也不为空,则显示showLinkButton
。
所以我可以使用以下代码:
if let website = item.website, !item.website.isEmpty {
showLinkButton
}
这里有一个@ViewBuilder
,如下所示:
@ViewBuilder private var showLinkButton: some View {
Button(action: {
self.isBrowsingWebsite = true
}, label: {
Image(systemName: "link")
.resizable()
.scaledToFit()
.frame(height: 14)
.fontWeight(.bold)
.padding(5)
})
.foregroundColor(.secondary)
.background(
RoundedRectangle(cornerRadius: 5, style: .continuous)
.fill(Color(.systemGray6))
)
.sheet(isPresented: $isBrowsingWebsite) {
SafariViewWrapper(url: URL(string: item.website)!)
}
}
问题:
问题是我实际上没有对let website
做任何事情,所以我得到了以下错误:
一个月五个月一个月和一个月六个月。
问题:
- 如果我使用
if _ = item.website, !item.website.isEmpty
,这会影响性能吗?有更好的方法吗? - 由于我将有多个if语句,在同一个视图中调用
if _ = ...
5次以上会有负面影响吗?
1条答案
按热度按时间wztqucjr1#
使用 * 可选链接 * 调用
isEmpty
并与false
进行显式比较:注意事项:
如果你想检查一个值是否为
nil
,只需将其与nil
进行比较。除非你想使用解包后的值,否则不要使用if let
。