如何解决swift 2.0中的CustomStringConvertible错误?

时间:2016-05-22 06:34:11

标签: swift swift2

我在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"

我想知道为什么会这样。

1 个答案:

答案 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"
            }
        }
    }
}