在 SwiftUI 中,经常需要根据某些条件显示“空”视图,例如:
struct OptionalText: View {
let text: String?
var body: some View {
guard let text = text else { return }
return Text(text)
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这并不编译自体guard
必须返回一些观点,那就是当一个“空”的观点text
是nil
。如何把这个例子被重写,使其和编译时会生成一个“空”的看法text
是nil
?
我正在尝试找出正确的方法来有条件地包含swiftui视图。我无法直接在视图内部使用if,而不得不使用堆栈视图来做到这一点。
这可行,但似乎会有更清洁的方法。
var body: some View {
HStack() {
if keychain.get("api-key") != nil {
TabView()
} else {
LoginView()
}
}
}
Run Code Online (Sandbox Code Playgroud)