So I want to utilize something that has the best performance, but also check for both nil and also not empty on strings.
Example: If the string is not nil, but also not empty, show showLinkButton.
So I was able to use this code:
if let website = item.website, !item.website.isEmpty {
showLinkButton
}
Where I have a @ViewBuilder such as this:
@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)!)
}
}
Problem:
The problem is that I'm not really doing anything with let website, so I am getting the following errors:
Immutable value 'website' was never used; consider replacing with '_' or removing it && Replace 'let website' with '_'.
Questions:
- If I utilize
if _ = item.website, !item.website.isEmpty, will this hurt performance? Is there a better way to do it? - Since I will have multiple if statements, would
if _ = ...have negative side effects being called 5+ times in the same View.