Согласно документации Apple:
Внимание! Класс NSError доступен как в Mac OS X, так и в iOS. Однако API-интерфейсы и механизмы исправления ошибок и восстановления ошибок доступны только в комплекте приложений (Mac OS X).
Итак, я не уверен, что вы можете использовать NSErrorRecoveryAttempting
, даже если он определен в документации (похоже, это область документов UIKit, которые еще не были обновлены после копирования из Документация AppKit).
Вот как я обрабатываю ошибки в моем коде:
NSError *error = nil;
id result = [SomeClass doSomething:&error];
if (!result) {
NSLog(@"Do something failed: %@", error);
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Something failed!" message:@"There was an error doing something." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
[alert show];
return;
}