我有两个核心数据实体:Parent
和Child
。家长与称为Child
的{{1}}有很多关系。来自children
的反向关系。所以父母有Child.parent
:CoreDataGeneratedAccessors
和- (void)addChildrenObject:(Child *)value;
。
问题:在我使用其中一个访问者添加Child并保存managedObjectContext - (void)addChildren:(NSSet *)value;
为空之后。同时,每个添加parent.children
parent
的{{1}}属性指向Child
和Parent
的正确实例,这样的子句(谓词为NSFetchedResultsController
)就可以了。
怎么会这样?只是不知道如何调试这种奇怪的CoreData行为。
答案 0 :(得分:0)
解决。该集的属性在.m文件中由@synthesize
而不是@dynamic
合成。我知道这是一个非常愚蠢的错字,但我想知道为什么XCode甚至没有发出警告!静态分析仪也没有说过它!
答案 1 :(得分:0)
定义如下属性时会发生同样的情况:
@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;