- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在将 Firebase Auth UI 集成到我的应用程序中,但出于某种原因,我不断收到此错误:
Type 'LoginViewController' does not conform to protocol 'FUIAuthDelegate'
在您开始将我贬低到被遗忘之前,我保证我不是白痴。 FUIAuthDelegate 只有一个必需的功能,它在问题检查器的下方列出:
Protocol requires function 'authUI(_:didSignInWith:error:)' with type '(FUIAuth, User?, Error?) -> Void'; do you want to add a stub?
然后是:
Candidate has non-matching type '(FUIAuth, User?, Error?) -> ()'
问题是,我在我的类(class)里有这个功能,我很确定我符合协议(protocol)...这是我的 ViewController 的代码:
import UIKit
import FirebaseAuth
import FirebaseAuthUI
typealias FIRUser = FirebaseAuth.User
class LoginViewController: UIViewController {
@IBOutlet weak var loginButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func loginButtonTapped(_ sender: Any) {
print("Login Button Tapped")
guard let authUI = FUIAuth.defaultAuthUI()
else { return }
authUI.delegate = self
let authViewController = authUI.authViewController()
present(authViewController, animated: true)
}
}
extension LoginViewController: FUIAuthDelegate {
func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?) {
print("")
}
}
我疯了吗?有人可以告诉我我在这里缺少什么吗?
最佳答案
从 LoginViewController 扩展中删除 FUIAuthDelegate
协议(protocol):
extension LoginViewController {
func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?) {
print("")
}
我刚刚确认,当我将 FUIAuthProtocol
添加到我自己的应用程序时,我遇到了与您看到的相同的错误。没有它,它运行良好。
关于ios - Firebase iOS - 类型 'LoginViewController' 不符合协议(protocol) 'FUIAuthDelegate',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44663741/
请注意,我是 Xcode10.1 的新手。 我已经在 Xcode 中对我的移动应用实现了 Firebase 身份验证;登录有效,但我收到一条错误消息 Conditional cast from 'Ba
我正在使用 Firebase 4.6.0、Xcode 9.1、Swift 4。 当我实现 FUIAuthDelegate 协议(protocol)及其所需的函数 authUI(_ authUI: FU
我正在将 Firebase Auth UI 集成到我的应用程序中,但出于某种原因,我不断收到此错误: Type 'LoginViewController' does not conform to pr
我是一名优秀的程序员,十分优秀!