fand ich diese saubere Version heraus. Die Idee besteht darin, sowohl die String- als auch die ErrorType-Protokolle zu implementieren und den Fehler rawValue zu verwenden.
enum UserValidationError: String, ErrorType {
case NoFirstNameProvided = "Please insert your first name."
case NoLastNameProvided = "Please insert your last name."
case NoAgeProvided = "Please insert your age."
case NoEmailProvided = "Please insert your email."
}
Verbrauch:
do {
try User.define(firstName,
lastName: lastName,
age: age,
email: email,
gender: gender,
location: location,
phone: phone)
}
catch let error as User.UserValidationError {
print(error.rawValue)
return
}