美文网首页Swift知识集
[Swift Tips] 调用Error类型的localized

[Swift Tips] 调用Error类型的localized

作者: 冰琳92 | 来源:发表于2018-05-25 10:45 被阅读1次

我们定义了一个LoginError, 并实现localizedDescription方法

enum LoginError: Error {
    case usernameEmpty
    case passwordEmpty
    
    var localizedDescription: String {
        switch self {
        case .usernameEmpty:
            return "请输入用户名"
        case .passwordEmpty:
            return "请输入密码"
        }
    }
}

将我们定义的枚举转成Error, 预想的localizedDescription应该为请输入用户名

let error: Error = LoginError.usernameEmpty
print(error.localizedDescription)//The operation couldn’t be completed. (LoginError error 0.)

但是这个打印结果为:
The operation couldn’t be completed. (LoginError error 0.) 并不是我们所期望的

那我们要怎么做呢

只需要实现LocalizedError

enum LoginError: Error {
    case usernameEmpty
    case passwordEmpty
}

extension LoginError: LocalizedError {
    var errorDescription: String? {
        switch self {
        case .usernameEmpty:
            return "请输入用户名"
        case .passwordEmpty:
            return "请输入密码"
        }
    }
}

再次测试:

let error: Error = LoginError.usernameEmpty
print(error.localizedDescription) //请输入用户名

这就拿到我们期望的结果了

参考

相关文章

  • [Swift Tips] 调用Error类型的localized

    我们定义了一个LoginError, 并实现localizedDescription方法 将我们定义的枚举转成Er...

  • Swift值类型和引用类型

    摘抄来自: objccn-swifter-tips Swift 的类型分为值类型和引用类型两种,值类型在传递和赋值...

  • Swift 5.1 (16) - 错误处理

    错误的表示和抛出 在Swift中,错误由符合Error协议的类型的值表示。Error是空协议,表示类型可用于错误处...

  • 【Swift 3 && C++11】<第一

    |Swift|C++:-:|:-:|:-:关键字或类型|Error, throws, try, do - catc...

  • swift学习记录

    关于不同数据类型之间的比较 swift:4:6: error: binary operator '<' canno...

  • swift中动态获得类型

    在100个swift 的tips中无意中看到一直不懂的如何动态获得swift中类的类型。原来在swift中有一个关...

  • Swift---18.错误处理

    错误的表示和抛出Error协议 在Swift中,用符合Error协的类型值来表达错误,用throw来抛出这个错误,...

  • swift 错误处理

    表示并抛出错误 在 Swift 中,定义错误的类型需要遵循 Error 协议 通常用枚举表示错误类型,因为它能更直...

  • Swift 处理异常

    处理方式 定义异常类型 在 Swift 中,错误用符合Error协议的类型的值来表示。这个空协议表明该类型可以用于...

  • Swift 5.2 将实例作为函数调用

    Swift 5.2中的一个新功能是可以将类型实例作为函数调用(callAsFunction)。或者,如Swift ...

网友评论

    本文标题:[Swift Tips] 调用Error类型的localized

    本文链接:https://www.haomeiwen.com/subject/oilyjftx.html