2016-08-08 6 views

答えて

2

私はこのクリーンバージョンのアウトを発見しました。考え方は、StringとErrorTypeの両方のプロトコルを実装し、エラーのrawValueを使用することです。

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." 
} 

使用法:

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 
}