Подтвердить что ты не робот

Как получить сообщение NSError в iOS?

У меня есть метод в моем контроллере представления, как показано ниже:

- (void)parser:(PaymentTermsLibxmlParser *)parser encounteredError:(NSError *)error
{
    NSLog("error occured");
}

Здесь мне нужно показать фактическое сообщение об ошибке в NSError в моем предупреждении, может ли кто-нибудь подсказать, как его получить.

4b9b3361

Ответ 1

используйте [error localizedDescription] который отображает сообщение об ошибке

Ответ 2

Обычно вы хотите использовать [error localizedDescription], чтобы текст отображался пользователю.

Прочитайте документацию NSError для получения дополнительных параметров.

Для простого ведения журнала при разработке вы можете сделать NSLog(@"Error: %@", error). (Это даст вам "localizedDescription" и все остальное в вашем журнале в Xcode.)

Ответ 3

Чтобы добавить к текущим ответам, вы можете получить сообщение об ошибке и причину сбоя. Для этого вы можете сделать это при представлении NSError:

NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason]];

Это создаст 3-строчную строку с именем метода, в котором произошла ошибка, описание ошибки и предложение, объясняющее ошибку.

Если в NSError содержится дополнительная информация, вы также можете получить localizedRecoverySuggestion и добавить это сообщение так:

NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason], [error localizedRecoverySuggestion]];

Ответ 4

Пользователь error.userInfo, он возвращает словарь ex:

 NSLog(@"%@",error.userInfo);
{
code = 101;
error = "invalid login parameters";
originalError = "Error Domain=NSURLErrorDomain Code=-1011 \"The operation        couldn\U2019t be completed. (NSURLErrorDomain error -1011.)\"";
temporary = 0;
}