Быстрая ошибка typealias - PullRequest
0 голосов
/ 24 мая 2018

Я начинаю изучать Swift, и в настоящее время я следую некоторым учебникам, и я застрял здесь с этой проблемой.

После того, как я объявил это:

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

Я получилэта ошибка:

Элемент Tuple не может иметь две метки

Мне нужен этот 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 {
            }
        });
    }
}

Итак, я пробовал разные вещи, но ни одна из них не работала.

full code with errors

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Это неправильное объявление типа функции:

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

Вы используете неправильный символ "больше чем" (шестнадцатеричный код Unicode 203A).

Ваш код должен выглядеть следующим образом:

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

Обратите внимание, что разница во втором символе, составляющем «оператор стрелки» (шестнадцатеричный шестнадцатеричный код 003E).

0 голосов
/ 24 мая 2018

Вам нужно только добавить пробел после ">"

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