为多对多关系覆盖核心数据setter方法

时间:2012-11-04 12:16:39

标签: iphone ios core-data override getter-setter

我为我的核心数据结构覆盖了许多setter,以保留数据库中的大部分“业务逻辑”。在核心数据中覆盖多对多关系的setter方法的最佳方法是什么?对于称为“事物”的关系,似乎setter函数包括:

- (void)addThingsObject:(Thing *)value;
- (void)removeThingsObject:(Thing *)value;
- (void)addThings:(NSSet *)value;
- (void)removeThings:(NSSet *)value;

我是否需要覆盖所有这四个功能?干净利落的最佳做法是什么?如果存在反比关系,我是否需要在设置器中执行任何操作以确保正确设置反转?

2 个答案:

答案 0 :(得分:1)

看看MoGenerator。它为核心数据中的每个实体创建两个类,其中一个用于编写自定义代码来管理实体。

答案 1 :(得分:0)

根据我的经验,覆盖xCode为您创建的方法会限制您的可能性。为你需要添加方法所需的每个类创建一个类别,并且只添加你感兴趣的方法,就更难维护了。比如,如果要替换一个对象,添加一个{类别中的{1}}方法。添加或删除也是如此,而不仅仅是替换。如果您不需要它们,那么实现它们只是为了跟进xCode生成的代码会很疯狂......