Есть приложение, которое я передал мне, которое показывает PDF-файлы и сохраняет угол поворота и состояние масштабирования при закрытии PDF-файла.
Симптом, с которым я сталкиваюсь, - [NSManagedObjectContext save]
Я получаю:
CoreData: ошибка: (21) ошибка ввода-вывода для базы данных на путь к дБ код ошибки SQLite: 21, «невозможно открыть файл базы данных» 2012-03-0609: 58: 40.227 Navtech iCharts [59838: fb03] Операция не может быть завершена.(Ошибка какао 21.)
Это происходит только после сохранения приблизительно 225-250.После этого приложение не может даже открыть .nib
файлы, что приводит к:
'NSInternalInconsistencyException', причина: 'Не удалось загрузить NIB в комплекте
Я посмотрел документацию sqlite об ошибке и нашел только заголовок:
#define SQLITE_MISUSE 21 /* Library used incorrectly */
Я даже не уверен, с чего начать диагностировать это.Кто-нибудь знает, что может привести к тому, что это происходит так последовательно, но так редко?
Для контекста, вот код, который выполняет сохранение:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(managedObjectContextDidSave:) name:NSManagedObjectContextDidSaveNotification object:self.context];
NSError *err = nil;
@synchronized(self)
{
if (![self.context save:&err])
{
NSLog(@"%@", [err localizedDescription]);
}
}
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSManagedObjectContextDidSaveNotification object:self.context];