Вот что у меня есть:внесение изменений в ядро данных извлеченного массив
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"NoteObject" inManagedObjectContext:appDelegate.managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(parentNoteId == %@) AND (noteId!=rootNoteId)", appDelegate.currentNoteId];
[fetchRequest setPredicate:predicate];
NSError *error;
[appDelegate.arrayOfNotes setArray:[appDelegate.managedObjectContext executeFetchRequest:fetchRequest error:&error]];
NoteObject *note=[appDelegate.arrayOfNotes objectAtIndex:0];
[note.arrayOfTags addObject:someObject];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
выборки отлично работает, и добавление объекта к arrayOfTags
работам и отражают в пользовательском интерфейсе. Однако, когда я выхожу из приложения и возвращаюсь, в arrayOfTags
отсутствует тот, который я добавил (но он имеет два других, поэтому я знаю, что массив работает правильно). По какой-то причине это не спасает.
(The NoteObject
является подклассом NSManagedObject
и arrayOfTags
является трансформируемой собственностью субъекта.)
Могу ли я сделать что-то здесь не так?
Edit:. Вот как добавить новую заметку, что позволяет экономить просто отлично, даже с arrayOfTags, и все сохраняется, когда я выйти из приложения и вернуться в
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *noteEntity = [[appDelegate.managedObjectModel entitiesByName] objectForKey:@"NoteObject"];
NoteObject *tempNote = [[NoteObject alloc] initWithEntity:noteEntity insertIntoManagedObjectContext:context];
[tempNote.arrayOfTags addObject:@"tag1"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
Это только тогда, когда я делаю что он не сохраняется должным образом.
Что такое 'someObject'? – jrturton
Просто строка. Я еще не уверен, но я думаю, что моя проблема может заключаться в том, что я не использую fetchedResultsController. – Snowman
. Вероятнее всего, это проблема в вашей реализации arrayOfTags. Можете ли вы включить более подробную информацию об этом? – jrturton