2016-08-08 49 views

Antwort

2

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 
}