我在swift 2.0中使用enum向用户返回一些错误消息,我正在使用CustomStringConvertible协议。
这是我的代码:
enum Error: ErrorType {
case EmptyField
case PasswordDoNotMatch
case InvalidEmail
case UserCardIDTaken
case IncorrectSignIn
case InvalidPassword
}
extension Error: CustomStringConvertible{
var decription : String {
switch self{
case .EmptyField: return "Porfavor llene todos los campos"
case .PasswordDoNotMatch: return "La contraseña no coincide"
case .InvalidEmail: return "Porfavor entre un email valido"
case .UserCardIDTaken: return "La Cedula ya existe"
case .IncorrectSignIn: return "Email o Contraseña son incorrectos"
case .InvalidPassword: return "Las contraseñas no coinciden"
}
}
}
我收到以下错误:"输入'错误'不符合协议CustomStringConvertible"
我想知道为什么会这样。
答案 0 :(得分:0)
CustomStringConvertible
协议需要一个名为description
的gettable变量,但您的声明是错误的。
假设您要声明一个计算变量,您应该
extension Error: CustomStringConvertible{
var description : String {
get {
switch self {
case .EmptyField: return "Porfavor llene todos los campos"
case .PasswordDoNotMatch: return "La contraseña no coincide"
case .InvalidEmail: return "Porfavor entre un email valido"
case .UserCardIDTaken: return "La Cedula ya existe"
case .IncorrectSignIn: return "Email o Contraseña son incorrectos"
case .InvalidPassword: return "Las contraseñas no coinciden"
}
}
}
}