2016-10-11 4 views
2

Возможно ли получить локализованные описания из кодов ошибок?NSError: Получить локализованныйОписание от кода

Exmaple: Когда приложение пытается подключиться в автономном NSURLSession возвращается ошибка:

Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline."

Можно ли получить «Интернет-соединение, как представляется, в автономном режиме.» используя домен и код? Что-то вроде следующего (это действительно не работает):

let error = NSError(domain: "NSURLErrorDomain", code: -1009) 
print(error.localizedDescription) 

ответ

2

Это работает только когда NSLocalizedDescriptionKey установлен в информации пользователя словаря. По-видимому, это не для объекта NSError, который вы из NSURLSession, и поэтому строка по умолчанию построена из домена и кода. Дополнительную информацию см. В документе SNError documentation.

Если вы хотите локализовать сообщения об ошибках, которые показываете своим пользователям, вам нужно будет проверить код ошибки для типа ошибки и показать соответствующую локализованную строку. См. Localizing Your App для получения более подробной информации об использовании локализации.


Edit:

Чтение свой вопрос еще раз, я думаю, что я неправильно понял ваш вопрос.

Если вы хотите, чтобы инициализировать объект NSError с доменом и ErrorCode, и он содержит некоторое сообщение об ошибке что соответствует коду ошибки, используемой NSURLSession ответом является NO.

Конкретные коды ошибок не являются общепризнанными стандартами, и ничто не мешает другим приложениям использовать одни и те же коды.

Это означает, что NSError автоматически не заполняет сообщение полей в соответствии с конкретными кодами ошибок. Клиенты, которые используют объект NSError, должны делать это вручную.

+0

В разделе «Редактировать» вы поняли меня правильно. +1 – Avt

 Смежные вопросы

  • Нет связанных вопросов^_^