I'm trying to figure out the correct way to conditionally include a view with swiftui. I wasn't able to use the if directly inside of a view and had to use a stack view to do it.
if
This works but there seems like there would be a cleaner way.
var body: some View { HStack() { if keychain.get("api-key") != nil { TabView() } else { LoginView() } } }
The simplest way to avoid using an extra container like HStack is to annotate your body property as @ViewBuilder, like this:
HStack
body
@ViewBuilder
@ViewBuilder var body: some View { if user.isLoggedIn { MainView() } else { LoginView() } }
2.1m questions
2.1m answers
60 comments
57.0k users