我正在使用注册/登录视图控制器创建一个简单的应用程序,该应用程序会导致一个TableView Controller。
问题是,当我调用loginBtnPressed方法时,似乎两次调用Auth.auth(),因为打印语句“ Login for user ...”被打印了两次,并且performSegue也被执行了两次。
有人可以帮忙吗?
附加日志:
2019-03-25 13:13:50.299237 + 0530 countIT_Z [61176:7896870]-[I-ACS036002]启用了分析屏幕报告。调用+ [FIRAnalytics setScreenName:setScreenClass:]设置屏幕名称或覆盖默认屏幕类名称。若要禁用屏幕报告,请将Info.plist中的标志FirebaseScreenReportingEnabled设置为NO(布尔值) 2019-03-25 13:13:50.505813 + 0530 countIT_Z [61176:7896870] 5.18.0-[Firebase / Analytics] [I-ACS023007] Analytics v.50700000已开始 2019-03-25 13:13:50.507465 + 0530 countIT_Z [61176:7896870] 5.18.0-[Firebase / Analytics] [I-ACS023008]要启用调试日志记录,请设置以下应用程序参数:-FIRAnalyticsDebugEnabled() 2019-03-25 13:13:51.043075 + 0530 countIT_Z [61176:7896954] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C1.1:2] [0x7fb97370b740]获取输出帧失败,状态8196 2019-03-25 13:13:51.043302 + 0530 countIT_Z [61176:7896954] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C1.1:2] [0x7fb97370b740]获取输出帧失败,状态8196 2019-03-25 13:13:51.044079 + 0530 countIT_Z [61176:7896954] TIC读取状态[1:0x0]:1:57 2019-03-25 13:13:51.044260 + 0530 countIT_Z [61176:7896954] TIC读取状态[1:0x0]:1:57 2019-03-25 13:13:53.550835 + 0530 countIT_Z [61176:7896752] [MC] systemgroup.com.apple.configurationprofiles的系统组容器路径为/ Users / *** / Library / Developer / CoreSimulator / Devices / 18BEEB16 -AA64-48C6-B88D-FEF2CFA1EDA3 / data / Containers / Shared / SystemGroup / systemgroup.com.apple.configurationprofiles 2019-03-25 13:13:53.552997 + 0530 countIT_Z [61176:7896752] [MC]从私人有效用户设置中读取。 第一 2019-03-25 13:13:59.763175 + 0530 countIT_Z [61176:7896969] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C2.1:2] [0x7fb973502f00]获取输出帧失败,状态8196 2019-03-25 13:13:59.763425 + 0530 countIT_Z [61176:7896969] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C2.1:2] [0x7fb973502f00]获取输出帧失败,状态8196 2019-03-25 13:13:59.764174 + 0530 countIT_Z [61176:7896969] TIC读取状态[2:0x0]:1:57 2019-03-25 13:13:59.764619 + 0530 countIT_Z [61176:7896969] TIC读取状态[2:0x0]:1:57 2019-03-25 13:14:00.422619 + 0530 countIT_Z [61176:7896953] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C4.1:2] [0x7fb973714ae0]获取输出帧失败,状态8196 2019-03-25 13:14:00.423064 + 0530 countIT_Z [61176:7896953] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C4.1:2] [0x7fb973714ae0]获取输出帧失败,状态8196 2019-03-25 13:14:00.423907 + 0530 countIT_Z [61176:7896953] TIC读取状态[4:0x0]:1:57 2019-03-25 13:14:00.424707 + 0530 countIT_Z [61176:7896953] TIC读取状态[4:0x0]:1:57 用户Optional(“ a@b.com”)的登录成功 2019-03-25 13:14:01.101242 + 0530 countIT_Z [61176:7896752] [警告]仅警告一次:检测到一种情况,即对于表视图单元格的内容视图,约束模糊地建议高度为零。我们考虑的是无意倒塌,而是改用标准高度。
@IBAction func loginBtnPressed(_ sender: UIButton) {
let userEmailId = loginEmailIdTF.text
let userPassword = loginPasswordTF.text
Auth.auth().signIn(withEmail: userEmailId!, password: userPassword!) { (status, error) in
if error != nil {
print("Login error")
} else {
print("Login for user \(String(describing: userEmailId)) is successful")
self.performSegue(withIdentifier: "goToAllCountersFromLogin", sender: self)
}
}
}
答案 0 :(得分:0)
我建议将您的方法更改为此:
Auth.auth().signIn(withEmail: email, password: password) { [weak self] user, error in
guard let strongSelf = self else {
return
}
// Do segue here
}
让我知道这是否可行