#swift
Вопрос:
Я очень новичок в Swift, и вместо того, чтобы просто печатать локализованное описание ошибки, когда пользователь пытается зарегистрироваться в приложении, я хочу показать его пользователю в метке ошибки. Однако я получаю ошибку «Выражение не может быть назначено: вызов функции возвращает неизменяемое значение». Я не уверен, что это значит или что я должен делать по-другому, чтобы отобразить описание ошибки по умолчанию.
class RegisterViewController: UIViewController {
@IBOutlet weak var emailTextfield: UITextField!
@IBOutlet weak var passwordTextfield: UITextField!
@IBOutlet weak var errorLabel: UILabel!
override func viewDidLoad() {
errorLabel.isHidden = true
}
@IBAction func registerPressed(_ sender: UIButton) {
if let email = emailTextfield.text, let password = passwordTextfield.text {
Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
if let e = error {
self.errorLabel.isHidden = false
String(e.localizedDescription) = self.errorLabel.text!
"Expression is not assignable: function call returns immutable value"
} else {
//Navigate to ChatViewController
self.performSegue(withIdentifier: "RegisterToChat", sender: self)
}
}
}
}
}
Комментарии:
1. Что это такое? Строка(например, локализованное описание) = self.errorLabel.текст!
Ответ №1:
Задание должно быть наоборот. Вы собираетесь всегда назначать правую сторону левой стороне.
И вам не нужно создавать строку из строки
self.errorLabel.text = e.localizedDescription