Я использую UIDocument для загрузки файлов. Теперь я повредил файл, чтобы посмотреть, что происходит и как работает мое приложение. Он завершится с EXC_BAD_ACCESS, и мне было интересно, как мне справиться с такими сценариями. Я просто надеюсь , что файл никогда не будет поврежден? В дни до UIDocument я использовал @try и @catch для NSEXCEPTION, но это не будет работать с EXC_BAD_ACCESS. Это тот случай, когда я бы использовал NSZOMBIE? Насколько я понимаю другие посты, NSZombie используется только для целей отладки и не совсем то, на что вы всегда должны полагаться. Вот строка кода, которая выдает EXC_BAD_ACCESS, если я испортил свои данные:
-(BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError **)outError {
if (!_books) {
_books = [[NSMutableArray alloc] init];
}
self.books = [NSKeyedUnarchiver unarchiveObjectWithData:contents]; // THIS WILL CRASH IF CONTENTS GOT CORRUPTED
if ([_delegate respondsToSelector:@selector(libraryDocumentUpdated:)]) {
[_delegate libraryDocumentUpdated:self];
}
return YES;
}
Спасибо за любые предложения.