当我创建视图时,我希望登录用户,登录完成后,视图将发生变化。
由于我对 SwiftUI 还很陌生,所以我尝试的方式似乎不起作用。(我确实知道它与 SwiftUI 结构有关)
@State private var isLoading: Bool = true
Run Code Online (Sandbox Code Playgroud)
init() {
userService.login { (didError, msg) in
}
}
Run Code Online (Sandbox Code Playgroud)
ProgressView().disabled(isLoading).frame(alignment: .center)
Run Code Online (Sandbox Code Playgroud)
当我尝试这样做时:
userService.login { (didError, msg) in
isLoading.toggle() or self.isLoading.toggle()
}
Run Code Online (Sandbox Code Playgroud)
Xcode 返回:转义闭包捕获变异的“self”参数。
有谁知道我怎样才能使这样的事情发挥作用?
而不是在内部某个地方init调用它,例如.onAppearbody
var body: some View {
VStack {
// .. some content
}
.onAppear {
userService.login { (didError, msg) in
self.isLoading.toggle()
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1126 次 |
| 最近记录: |