Есть ли более простой способ сделать что-то вроде следующего в Core Data:Вставка и сохранение Методы NSManagedObject данных Основные
Entry *entry = [[Entry alloc] init];
entry.name = @"An Entry";
[entry save];
Я понимаю, что вам не придется выделять NSManagedObject, должны вставить непосредственно в как:
Entry *entry = [NSEntityDescription insertNewObjectForEntityForName:@"Entry"
inManagedObjectContext:[self managedObjectContext]];
Но это много кода. Кроме того, я хотел бы сохранить, просто сообщениями, а не должны сохранить весь контекст:
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil)
{
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
Могу ли я положить их в NSManagedObject абстрактного класса и имеют мои управляемые объекты расширения, что абстрактный класс? В принципе, я просто пытаюсь инкапсулировать больше в свои модели и писать меньше кода в своих контроллерах. Любая помощь оценивается.
Подумав об этом несколько часов, я начинаю понимать, что, возможно, я смотрел на все это неправильно. Core Data не является структурой ORM, как PHP-доктрина. Я думаю, что нет необходимости сериализации для каждого объекта. При запуске вы просто извлекаете все объекты из магазина. Затем вы манипулируете и удаляете объекты по мере необходимости в режиме OBJECT ORIENTED. Когда все закончится, вы сохраните контекст. Это все. Не нужно беспокоиться о сериализации объектов. –