2015-10-15 4 views
0

Я работаю над довольно большим приложением на 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 и использовать некоторые трюки, о которых я еще не знаю? И если последние, какие эти трюки?

+0

Вы можете установить на работе с основными данными напрямую, но если вы хотите, чтобы сделать вашу жизнь проще, я предлагаю проверить https://github.com/magicalpanda/MagicalRecord –

+2

Я очень не рекомендую использовать Magic Record. Он может работать для самых простых приложений, но если вы хотите какой-либо структуры вообще, это беспорядок. – Avi

ответ

1

Ответы на связь не приветствуются, но вы действительно хотите прочитать обширную документацию Apple по основным данным. В частности, google для «Создание и изменение настраиваемых управляемых объектов».

(в настоящее время найти на этом link.)

+0

Ссылки в ответах не обескуражены. Ссылка * только * ответ. –

Смежные вопросы