I am trying to learn swift ViewModel
and I have created a function to handel the error.
But when I call the function in my ViewController
file it says :
Cannot assign to value: 'error' is a 'let' constant
Is there any way to fix this? I am still a student looking for the best advice.
Thanks a lot.
Below is my code can you guys please help me.
SignUpError.swift :
class SingUpError {
func errorMessage(name: String?, lastName: String?,email: String?, password: String?, error: String?){
enum ErrorMessage: String {
case noName = "Name cannot be empty"
case noLastName = "Last name cannot be empty"
case noEmail = "Email cannot be empty"
case noPassword = "Password cannot be empty"
}
if name == "" {
error = ErrorMessage.noName.rawValue
}
}
}
NewUserVC.swift :
class NewUserVC: UIViewController {
// Var
var vm = SingUpError()
// Outlet Text Fields
@IBOutlet weak var nameText: UITextField!
@IBOutlet weak var lastNameText: UITextField!
@IBOutlet weak var emailText: UITextField!
@IBOutlet weak var passwordText: UITextField!
// Outlet Labels
@IBOutlet weak var nameErrLbl: UILabel!
@IBOutlet weak var lastNameErrLbl: UILabel!
@IBOutlet weak var emailErrLbl: UILabel!
@IBOutlet weak var passwordErrLbl: UILabel!
@IBAction func submiButton(_ sender: UIButton) {
submitData()
}
override func viewDidLoad() {
super.viewDidLoad()
}
func submitData() {
guard
let name = nameText.text,
let lastName = lastNameText.text,
let email = emailText.text,
let password = passwordText.text
else {return}
vm.errorMessage(name: name, lastName: lastName, email: email, password: password, error: nameErrLbl.text)
}
}