我有一个变量,它被定义为一个Error,这是它在打印时的样子:
Optional(Error Domain=com.apple.LocalAuthentication Code=-2 "Canceled by user." UserInfo={NSLocalizedDescription=Canceled by user.})
我想做的是得到-2的代码......我该怎么做呢?
pvabu6sv1#
您可以先打开可选的error,然后比较-2的情况。
error
-2
if let error = error { switch error._code { case LAError.userCancel.rawValue: // or -2 if you want // do something default: break } }
ljsrvy3e2#
我写了这个小扩展:
extension Error { var errorCode:Int? { return (self as NSError).code } }
使用:
if error.errorCode == -2 { //some code }
vq8itlhq3#
你只需要将Error转换为LAError(Local Authentication error)并切换其code属性:
if let error = error as? LAError { switch error.code { case .userCancel: print("userCancel") default: print("unknown error") } }
j7dteeu84#
我很确定你想在NSError上使用code属性:
NSError
code
var e = NSError(domain: "Pizza", code: 31, userInfo: nil) e.code // 31
pxq42qpu5#
let errorCode = (error as NSError).code
5条答案
按热度按时间pvabu6sv1#
您可以先打开可选的
error
,然后比较-2
的情况。ljsrvy3e2#
我写了这个小扩展:
使用:
vq8itlhq3#
你只需要将Error转换为LAError(Local Authentication error)并切换其code属性:
j7dteeu84#
我很确定你想在
NSError
上使用code
属性:pxq42qpu5#