Вот мой код:Основные данные: когда NSManagedObject вставлен в контекст и сохранен?
for (NSString *filePaths in self.filesAdded) {
FileAttachments *fileObject = [NSEntityDescription insertNewObjectForEntityForName:@"FileAttachments" inManagedObjectContext: context];
fileObject.fileName = filePaths;
}
NSLog(@"before context->save");
if (![context save:&error]) ...
Я пытаюсь найти точку, когда NSManagedObject
является сохранен в контексте после того, как вставляется в первый раз. Кажется, awakeFromInsert
вызывается, когда вы вызываете [NSEntityDescription insertNewObjectForEntityForName]
, что слишком рано, так как ни одно из свойств. Я хочу знать, когда [context save: error]
вызывается для тех новых NSManagedObject
s, поэтому я могу сэкономить еще метаинформацию. Есть ли хороший, чистый способ сделать это? Что-то вроде prepareForDeletion
, которое идеально подходит для очистки объектов.
Возможно, я неправильно понимаю ваш вопрос, но не управляемые объекты, сохраненные при вызове '[context save: & error]' в вашей последней строке? Или вы хотите получить какое-то уведомление о событии сохранения, чтобы вы могли определить обработчик для него в другом месте? – Tim
Что вы имеете в виду * метаинформация *? Как предложил Тим, объекты сохраняются в методе '[context save: error]'. –
Я хотел более централизованное место, поэтому я мог бы скомпоновать весь код после сохранения. Прямо сейчас, он будет разбросан везде, где я создаю объект FileAttachments, а затем сохраняю контекст. prepareForDeletion - прекрасный пример. Я думаю, что нет никакого эквивалентного метода «readyToSave». –