【发布时间】:2020-02-05 13:23:07
【问题描述】:
我无法将逻辑非
!运算符与可绑定$对象一起使用。
这是我想要的场景-
struct ContentView: View {
@State private var isLoggedIn:Bool = true
var body: some View {
Text("Root View")
.sheet(isPresented: !self.$isLoggedIn) {
SignInView()
}
.onAppear { self.performAuthentication() }
}
}
一旦我通过一些按钮操作设置isLoggedIn = false,登录视图就会出现。为此我必须在$ 之前使用逻辑非运算符。
编译器错误:无法将“绑定”类型的值转换为 预期的参数类型“布尔”
我怎样才能做到这一点?
【问题讨论】:
-
我之前回答过类似的问题,请看here
-
值得一提的是'$' in not 'bindable object operator'。如果您有 @somePropertyWrapper var value:Value = ...,则 $ 前缀运算符会为您提供它的预计值。您可以通过访问 State 的绑定属性从 State 获取绑定。您还可以将 $ 前缀运算符与 State 的任何属性一起使用来创建绑定。