После добавления объектов через CoreDataGeneratedAccessors ко многим отношениям NSSet пуст - PullRequest
0 голосов
/ 25 марта 2011

У меня есть два основных объекта данных: Parent и Child. Родитель имеет ко-многим отношение к Child, называемому children. Обратная зависимость от Child.parent. Таким образом, родитель имеет CoreDataGeneratedAccessors: - (void)addChildrenObject:(Child *)value; и - (void)addChildren:(NSSet *)value;.

Проблема: после того, как я добавляю Child (s) с помощью одного из этих методов доступа и сохраняю управляемый объектObjectContext parent.children пуст. В то же время свойство parent каждого добавленного Child указывает на правильный экземпляр Parent, и NSFetchedResultsController хорошо выбирает таких потомков (предикат parent = %@, <instance of Parent>).

Как это может быть? Просто не имею понятия, как отлаживать такое странное поведение CoreData.

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

То же самое происходит, когда вы определяете свойства следующим образом:

@interface Project : BaseModel {
  Workspace *workspace;
  NSString *name;
}

@property (nonatomic, retain) Workspace *workspace;
@property (nonatomic, retain) NSString *name;

Правильный интерфейс должен выглядеть так:

@interface Project : BaseModel {}

@property (nonatomic, retain) Workspace *workspace;
@property (nonatomic, retain) NSString *name;
0 голосов
/ 20 апреля 2011

решаемая. Каким-то образом свойство этого набора было стилизовано @synthesize, а не @dynamic в файле .m. Я знаю, что это была очень глупая опечатка, но мне интересно, почему XCode даже не выдал предупреждение об этом! Статический анализатор тоже ничего об этом не сказал!

...