Я работаю над довольно большим приложением на iOS. До сих пор я использую CoreData так:Как использовать подкласс NSManagedObject?
Есть класс, что есть методы, как -(NSArray*)getAllEntries
или -(void)saveEntry:(Entry *)entry
и Entry
имеет несколько свойств, таких как строки, словари, массивы других объектов, которые могут или не могут сохраняются в CoreData и т. д. В основном я инициализирую с его значением по умолчанию ctor и задаю значения для свойств, извлекая значения из NSManagedObject
с помощью valueForKey:
. Я получаю из хранилища компакт-дисков.
Я начал кодировать так, потому что в то время, когда я был новым для obj-c, и я пришел из фона C++/Java.
Теперь я работаю над новым модулем в приложении и хочу сделать все, как obj-c.
Как я понял, если что делает Entry
объекта подкласс NSManagedObject
, я мог бы инициализировать его только с помощью [NSEntityDescription insertNewObjectForEntityForName:@"Entries" inManagedObjectContext:context];
, что означает, что будет привязано к объекту? Дело в том, что я, возможно, захочу, например, запустить этот объект из данных, которые я вытаскиваю из Интернета, и я не хочу сохранять его в постоянном хранилище. Или, возможно, я захочу извлечь объект из магазина, отредактировать значения, но не сохранить его в хранилище. Все будет хорошо (возможно), но, как я понимаю, если я вызову метод сохранения в контексте, который использовался для создания объекта, объект будет сохранен в хранилище, которое я не хотел бы сохранить.
Итак, теперь я немного смущен тем, как я должен продолжать это делать. Мой старый способ делать Core Data Ok, или я должен использовать подкласс NSManagedObject
и использовать некоторые трюки, о которых я еще не знаю? И если последние, какие эти трюки?
Вы можете установить на работе с основными данными напрямую, но если вы хотите, чтобы сделать вашу жизнь проще, я предлагаю проверить https://github.com/magicalpanda/MagicalRecord –
Я очень не рекомендую использовать Magic Record. Он может работать для самых простых приложений, но если вы хотите какой-либо структуры вообще, это беспорядок. – Avi