Swift类型错误

时间:2018-05-24 17:13:23

标签: swift type-alias

我开始学习Swift,而我现在正在学习一些教程,而且我已经遇到了这个问题。

我宣布之后:

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

我收到了这个错误:

  

元组元素不能有两个标签

我需要这个LoginHandler来获取消息并检索无效,以便我可以在登录功能中使用它来处理我的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 {
            }
        });
    }
}

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

full code with errors

2 个答案:

答案 0 :(得分:3)

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

BitSet toRemove = new BitSet(list.size());
toRemove.set(firstRangeStart, firstRangeEnd);
toRemove.set(secondRangeStart, secondRangeEnd);
// etc
for(int e = toRemove.length(), s; e > 0; e = toRemove.previousSetBit(s)+1)
    list.subList((s=toRemove.previousClearBit(e-1))+1, e).clear();

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

您的代码应如下所示:

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

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

答案 1 :(得分:1)

您只需在“>”

之后添加空格
typealias LoginHandler = (_ msg: String) -> Void