目的
- 我希望在应用程序中以警报的形式向用户显示遇到的
CKError
。 - 因此,我想从错误中提取可向用户显示的字符串。
注意: 这个问题不是关于UI代码的展示,只是想从错误中提取有意义的字符串。
我尝试使用localizedDescription,但似乎没有包含适当的字符串。
代码:
以下是我尝试过的方法:
po error
<CKError 0x1c464cea0: "Network Unavailable" (3/NSURLErrorDomain:-1009); "The Internet connection appears to be offline.">
po error.localizedDescription
"The operation couldn’t be completed. (CKErrorDomain error 3.)"
po (error as! CKError).errorUserInfo
▿ 2 elements
▿ 0 : 2 elements
- key : "NSUnderlyingError"
- value : Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSErrorFailingURLStringKey=https:/
▿ 1 : 2 elements
- key : "NSDebugDescription"
- value : NSURLErrorDomain: -1009
po (error as? NSError)?.localizedFailureReason
nil
po (error as? NSError)?.localizedRecoverySuggestion
nil
po (error as? NSError)?.localizedRecoveryOptions
nil
po (error as? NSError)?.debugDescription
▿ Optional<String>
- some : "<CKError 0x1c064eaf0: \"Network Unavailable\" (3/NSURLErrorDomain:-1009); \"The Internet connection appears to be offline.\">"
问题:
调试描述似乎是我想要的最接近的东西。
- 我有什么遗漏吗?
- 提取错误字符串的正确方法是什么,以便我可以显示给用户?