2016-05-22 23 views
0

我在swift 2.0中使用枚举向用户返回一些错误消息,并使用CustomStringConvertible协议。如何解决swift 2.0中的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”

我想知道这是为什么hapens。

+2

错字:德计划** S ** cription – vadian

+0

aaashh !!感谢@vadian –

回答

0

CustomStringConvertible协议需要一个名为description的可获取变量,但您的声明是错误的。

假设你要声明一个变量计算你应该做

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" 
      } 
     } 
    } 
} 
+1

你不需要嵌套'GET'因为它是计算属性的可选项。 – Skyboat

+0

不知道,谢谢你的提示 –

相关问题