2

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

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

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

4

2 回答 2

1

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

于 2012-11-04T12:38:59.853 回答
0

根据我的经验,覆盖 xCode 为您创建的方法会限制您的可能性。为您需要添加方法的每个类创建一个类别并仅添加您感兴趣的方法更易于维护。例如,如果您想替换一个对象,请replaceThingObject:(Thing*)obj1 withThingObject(Thing*)obj2在该类别中添加一个方法。添加或删除也是如此,而不仅仅是替换。如果你不需要它们,仅仅为了跟进 xCode 生成的代码而实现它们会很疯狂......

于 2012-11-04T12:39:18.107 回答