Я пытаюсь показать оповещение об ошибках для своих пользователей из бэкэнда Firebase.Оповещения о предупреждениях от модели
Я отделил функцию регистрации в соответствии с MVC и поместил ее в модель, однако print(error!.localizedDescription)
вложен в if statement
внутри моей модели. Я не могу просто сделать alertController
, потому что он не относится к виду в main.storyboard
.
Как я могу извлечь эту ошибку из своей модели и отобразить ее обратно на экране через VC?
МОДЕЛЬ
func signUp(email: String, username: String, password: String, data: NSData!)
{
FIRAuth.auth()?.createUser(withEmail: email, password: password, completion: { (user, error) in
if error == nil
{
self.setUserInfo(user: user, username: username, password: password, data: data)
}
else
{
print(error!.localizedDescription)
}
})
}
VIEW CONTROLLER
@IBAction func signupButton(_ sender: AnyObject)
{
if self.emailTextField.text == "" || self.usernameTextField.text == "" || self.passwordTextField.text == ""
{
let alertController = UIAlertController(title: "Oops!", message: "Please enter a valid username, email & password", preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "Ok", style: .cancel, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
}
else
{
let data = UIImageJPEGRepresentation(self.userProfilePicture.image!, 0.8)
networkingService.signUp(email: emailTextField.text!, username: usernameTextField.text!, password: passwordTextField.text!, data: data as NSData!)
}
}
NetworkingService это структура, которую я называю.
Спасибо за помощь, я все еще пытаюсь обмотать голову вокруг MVC.
Это сработало отлично! Спасибо! – ishkur88