У меня есть две сущности, которые я назову A и B. Они настроены на отношения To-Many в обоих направлениях, поэтому A.myBs и B.myAs являются NSSets.
Вот моя странная проблема.
Когда я добавляю B к своей сущности A, я делаю это, используя mutableSetValueForKey, например:
NSMutableSet *myBSet = [myA mutableSetValueForKey:@"myBs"];
[myBSet addObject:theBtoAdd];
Это добавляет theBtoAdd к объекту A, но не добавляет обратную связь. Сохранение контекста Базовых данных не выдает никаких ошибок, но мой объект A не имеет инверсного набора B. Если я выйду из приложения, даже частичные отношения не сохранятся.
Вот странная часть ... если я просто переключаю свой код и делаю обратное (есть причины, по которым это сложнее сделать для моего конкретного приложения) - добавьте A к B вместо добавления B к A следующим образом:
NSMutableSet *myASet = [myB mutableSetValueForKey:@"myAs"];
[myASet addObject:theAtoAdd];
Работает просто отлично. Между прочим, у меня много других отношений, которые работают. Просто этот не делает.
Пара других вещей:
1) Моя базовая объектная модель данных выглядит хорошо, но это первая новая сущность, которую я добавил в Xcode 4
2) Я проверил, перепроверил и ослеп, глядя на мои пользовательские объекты NSManagedObject, но они выглядят хорошо - объявлены динамически, NSSet, нет конфликтующих сеттеров / геттеров ... и т. Д.
Любая помощь или предложения по отладке будут с благодарностью. Спасибо!