代码之家  ›  专栏  ›  技术社区  ›  user979331

SWIFT 4从错误中获取错误代码

  •  1
  • user979331  · 技术社区  · 6 年前

    我有一个定义为错误的变量,这就是我打印它时的样子:

    Optional(Error Domain=com.apple.LocalAuthentication Code=-2 "Canceled by user." UserInfo={NSLocalizedDescription=Canceled by user.})
    

    我要做的是得到-2的代码…我该怎么做?

    3 回复  |  直到 6 年前
        1
  •  4
  •   Calvin    6 年前

    你可以打开可选的 error 首先比较一下 -2 案例。

    if let error = error {
       switch error._code {
          case LAError.userCancel.rawValue: // or -2 if you want
            // do something
          default:
            break
       }
    }
    
        2
  •  2
  •   Leo Dabus    6 年前

    您只需将错误转换为laerror(本地身份验证错误)并切换其代码属性:

    if let error = error as? LAError {
        switch error.code {
        case .userCancel:
            print("userCancel")
        default:
            print("unknown error")
        }
    }
    
        3
  •  0
  •   Aaron    6 年前

    我很确定你想用 code 属性对 NSError :

    var e = NSError(domain: "Pizza", code: 31, userInfo: nil)
    e.code  // 31