К сожалению, локализованное описание не дает содержательного описания. Проблема с обработкой моего собственного сообщения об ошибке состоит в том, что существует 26 кодов ошибок. И если я поддерживаю 5 языков, то это 26 x 5 = 130 сообщений об ошибках. К сожалению, они имеют ошибку в описании отладки, но с технической информацией. Я думаю, что это больше ошибка, было интересно, если было решение
Я хотел бы отобразить столкнулся с пользователем в приложении в качестве предупреждения.
CKError
Поэтому я хотел бы извлечь строку из ошибки, которая может быть отображена пользователю.Примечание:Этот вопрос не о коде пользовательского интерфейса для отображения. Просто хочу извлечь значимую строку из ошибки.Я пытался использовать 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.\">"
Описание отладки кажется наиболее близким к тому, что я хочу.Я что-то пропустил ?
Как правильно извлечь строку ошибки, которую я могу отобразить пользователю?Попробуйте (ошибка как! CKError) .localizedDescription