首页 > 解决方案 > Swift 类型别名错误

问题描述

我开始学习 Swift,我目前正在学习一些教程,但我遇到了这个问题。

在我声明后:

typealias LoginHandler = (_ msg: String) -› Void;

我收到了这个错误:

元组元素不能有两个标签

我需要这个 LoginHandler 有一条消息并检索 void,以便我可以在我的登录函数中使用它来处理我的 Firebase 错误。

typealias LoginHandler = (_ msg: String) -› Void;

class AuthProvider {
    private static let _instance = AuthProvider();

    static var Instance: AuthProvider {
        return _instance;
    }

    func login(withEmail: String, password: String, loginHandler: LoginHandler?){
        Auth.auth().signIn(withEmail: withEmail, password: password, completion:  {(user, error) in
            if error != nil {
            } else {
            }
        });
    }
}

所以我一直在尝试不同的东西,但没有一个奏效。

有错误的完整代码

标签: swifttype-alias

解决方案


这不是正确的函数类型声明:

typealias LoginHandler = (_ msg: String) -› Void

您使用了错误的“大于”符号(unicode hex 203A)。

您的代码应如下所示:

typealias LoginHandler = (_ msg: String) -> Void

请注意构成“箭头运算符”(unicode hex 003E)的第二个字符的差异。


推荐阅读