Как программно создать супер / подкласс в основных данных? - PullRequest
0 голосов
/ 16 сентября 2009

У меня есть обобщение в моей базовой модели данных с сущностями с именами A, B, C, скажем, где A является суперклассом с подгруппами B и C.

A не является абстрактным, поэтому, если я создаю NSManagedObject, мне нужно создать и связать один объект подкласса B или C. Как мне это сделать? Я могу создавать объекты, но КАК сказать модели, что объект B является подклассом объекта A (или наоборот?)

Примечание. Я создал модель программным способом, и субъекты были правильно настроены для описания объекта "A".

Вот моя грустная попытка двигаться вперед. Есть идеи? Бонусные баллы, если вы можете направить меня к примеру кода, который выполняет эту работу. Спасибо.

NSEntityDescription *aEntity = [[model entitiesByName] objectForKey:@"A"];
NSEntityDescription *bEntity = [[model entitiesByName] objectForKey:@"B"];

A *newA = [[A alloc] initWithEntity:aEntity insertIntoManagedObjectContext:context];
B *newB = [[B alloc] initWithEntity:ATC_Entity insertIntoManagedObjectContext:context];

1 Ответ

0 голосов
/ 17 сентября 2009

Спасибо группе cocoadev за ответ на мой вопрос здесь и здесь .

По сути, вы просто вставляете субтитры в свою модель, и сверхъестественность волшебным образом возникает. Если вы создаете подкласс NSManagedObjects, вам нужно объявить все свойства, к которым вы хотите получить доступ.

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