при попытке сохранить управляемый объект со следующей конфигурацией в координатору постоянного хранения:Основные данные Управляемый объект не может сохранить контекст (ошибка 134030)
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"ParallelPhotosModel.sqlite"];
NSError *error = nil;
NSString *failureReason = @"There was an error creating or loading the application's saved data.";
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
я получаю следующее сообщение об ошибке:
Unresolved error Error Domain=NSCocoaErrorDomain Code=134030 "An error occurred while saving." UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/9FCED2FF-F976-4780-8192-208519C8CD11/Documents/ParallelPhotosModel.sqlite, NSAffectedStoresErrorKey=( " (URL: file:///var/mobile/Containers/Data/Application/9FCED2FF-F976-4780-8192-208519C8CD11/Documents/ParallelPhotosModel.sqlite)" ), NSUnderlyingError=0x127335c50 {Error Domain=NSCocoaErrorDomain Code=4 "The file doesn’t exist." UserInfo={NSUnderlyingError=0x12732a670 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory" UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/9FCED2FF-F976-4780-8192-208519C8CD11/Documents/ParallelPhotosModel.sqlite}}}}}, { NSAffectedStoresErrorKey = ( " (URL: file:///var/mobile/Containers/Data/Application/9FCED2FF-F976-4780-8192-208519C8CD11/Documents/ParallelPhotosModel.sqlite)" ); NSFilePath = "/var/mobile/Containers/Data/Application/9FCED2FF-F976-4780-8192-208519C8CD11/Documents/ParallelPhotosModel.sqlite"; NSUnderlyingError = "Error Domain=NSCocoaErrorDomain Code=4 \"The file doesn\U2019t exist.\" UserInfo={NSUnderlyingError=0x12732a670 {Error Domain=NSPOSIXErrorDomain Code=2 \"No such file or directory\" UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/9FCED2FF-F976-4780-8192-208519C8CD11/Documents/ParallelPhotosModel.sqlite}}}"; }
Какова основная проблема здесь и как мне ее избежать? Я где-то видел, что аналогичная ошибка появляется при попытке сохранить внутри пакета приложений, но использование storeURL i m было взято из учебника (то есть каталога документов).
UPDATE:
быть более точным, я вставляю, где именно NSManagedObjectContext должен позволить мне сохранить, но это не делает:
NSManagedObjectContext *context = [appDelegate managedObjectContext];
for (DBMetadata *file in metadataContents) {
NSString *photo_info = [file photo_info];
if (photo_info != nil) {
NSNumber *day_taken = [self extractDayFromString: photo_info];
NSNumber *month_taken = [self extractMonthFromString: photo_info];
NSNumber *year_taken = [self extractYearFromString: photo_info];
NSString *db_path = [file path];
NSManagedObject *parallelPhoto = [NSEntityDescription
insertNewObjectForEntityForName:@"ParallelPhotos"
inManagedObjectContext:context];
[parallelPhoto setValue:db_path forKey:@"pathInDropbox"];
[parallelPhoto setValue:day_taken forKey:@"day"];
[parallelPhoto setValue:month_taken forKey:@"month"];
[parallelPhoto setValue:year_taken forKey:@"year"];
NSLog(@"ADDED TO DB: %@ %@ %@", day_taken, month_taken, year_taken);
}
}
NSError *error = nil;
if(![context save:&error]){
NSLog(@"error: %@", error);
Можете ли вы показать код в 'applicationDocumentsDirectory' –
@ Paul.s это встроенный метод, который получает документы каталог –
Там нет встроенного в методе с селектором –