gpt4 book ai didi

ios - swift - PerformSegue 无法在 RxSwift Observable 订阅中工作

转载 作者:行者123 更新时间:2023-11-30 11:26:38 24 4
gpt4 key购买 nike

我有以下代码:

loginViewModel.facebookLogin
.asObservable()
subscribe() { [unowned self] facebookLogin in
if let isLoggedIn = facebookLogin.element?.isLoggedIn {
if isLoggedIn {
elf.performSegue(withIdentifier: "toRestaurantSelect", sender: self)
}
}

if let didLoginFail = facebookLogin.element?.didLoginFail {
self.errorLabel.isHidden = !didLoginFail
}
}
.disposed(by: disposeBag)

facebookLogin 是一个变量,在用户登录时更新。但是,不会调用 PerformSegue(条件为 true)。奇怪的是,如果我在模拟器中打开慢速动画,segue 就会被执行。当慢速动画关闭时,segue 不会执行(Facebook 登录有效)。任何帮助表示赞赏。谢谢!

最佳答案

我认为你应该使用主线程来使其工作

    loginViewModel.facebookLogin
.asObservable()
.subscribe() { [unowned self] facebookLogin in
if let isLoggedIn = facebookLogin.element?.isLoggedIn {
if isLoggedIn {


DispatchQueue.main.async {
self.performSegue(withIdentifier: "toRestaurantSelect", sender: self)

}



}
}

if let didLoginFail = facebookLogin.element?.didLoginFail {
self.errorLabel.isHidden = !didLoginFail
}
}
.disposed(by: disposeBag)

关于ios - swift - PerformSegue 无法在 RxSwift Observable 订阅中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50668925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com