createUser
- это асинхронный метод, вы можете отложить возвращаемое значение до завершения createUser
, но это не лучший способ обработки асинхронных методов.
Если вы передаете блок завершения исходному метод как:
func register(email: String, password: String, completion: @escaping(([String: Any]) -> Void)) {
var status: [String: Any] = ["stat": false]
let handle = Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if error != nil {
status["stat"] = false
status["statement"] = error!.localizedDescription as String
} else {
status["stat"] = true
}
completion(status)
}
}
Тогда в любом другом месте вы можете быть уверены, что createUser
завершил свой курс:
register(email: "email", password: "password") { status in
// Now it's ready.
print(status)
}