Объект модели из базовых данных и внешнего источника - PullRequest
1 голос
/ 18 июня 2011

Я создаю приложение, в котором мои объекты первичной модели могут быть получены из хранилища базовых данных или из внешнего источника (общедоступный API через Интернет -> JSON -> объект). Я новичок в Core Data, поэтому мой вопрос заключается в том, могу ли я просто взять объект модели в том виде, в каком он есть сейчас, и сделать его суперкласс NSManagedObject? Я предполагаю, что мне нужно убедиться, что свойства моей модели соответствуют именам и типам объектов модели данных, чтобы это произошло. Я не хочу использовать два разных объекта модели в приложении - один при извлечении из основного хранилища данных и один при извлечении из интернет-API.

Что еще мне нужно сделать, чтобы мои уже построенные объекты модели были совместимы для использования с основными данными?

Любое руководство или совет будет высоко ценится.

С уважением,

Craig

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

То, что я сделал в нескольких продуктах, - это просто работа с основными объектами данных и инициализация их из данных, которые я извлекаю из веб-службы. Таким образом, у вас есть только яблоки. Другой вариант - создать протокол, определяющий поведение аналогичных классов. Вы бы захотели сделать один подклассом другого, но это может оказаться сложным, в зависимости от ваших требований к постоянству.

0 голосов
/ 18 июня 2011

Вы можете добавить некоторую бизнес-логику к своему объекту (подкласс NSManagedObject), чтобы сделать возможным создание такого объекта из данных (то есть NSDictionary значений, которые будут использоваться). Суть в том, чтобы решить, хотите ли вы, чтобы эти объекты управлялись / сохранялись в вашем локальном хранилище данных или нет.

Я настоятельно рекомендую ознакомиться с NSManagedObjectContext: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObjectContext_Class/NSManagedObjectContext.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...