我不确定这是否是一个愚蠢的问题:
我有一个托管对象A,托管对象A与表B有多对一的关系。
通过执行类似
的操作,我将关系A设置为B. Aobject.Bobject=acopyOfB;
哪个好。
我想为这段关系写一个自定义的setter。这样我就可以根据B设置的值在A中设置一些只读属性。
所以我想填补空白:
-(void) setBobject:(Bobject)theValue{
'the gap'
}
我很高兴能够设置自定义值,但无法找到在核心数据中设置关系的正确语法。
答案 0 :(得分:0)
您需要执行类似
的操作- (void) setBObject:(BObject*)theValue {
[self willChangeValueForKey:@"bObject"];
[self setPrimitiveBObject:theValue];
[self didChangeValueForKey:@"bObject"];
// Do whatever else you need to do here
}
为避免编译器警告,您可以在@implementation
指令之前(但在.m
文件中)声明以下内容:
@interface MyManagedObjectSubClass (PrimitiveAccessors)
@property (nonatomic, retain) BObject* primitiveBObject;
@end