首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多对多关系的覆盖核心数据设置器方法

用于多对多关系的覆盖核心数据设置器方法
EN

Stack Overflow用户
提问于 2012-11-04 20:16:39
回答 2查看 992关注 0票数 2

我覆盖了核心数据结构的许多setter方法,以便将大部分“业务逻辑”保留在数据库中。覆盖核心数据中的多对多关系的setter方法的最佳方式是什么?看起来setter函数,对于一个叫做“事物”的关系,包括:

代码语言:javascript
复制
- (void)addThingsObject:(Thing *)value;
- (void)removeThingsObject:(Thing *)value;
- (void)addThings:(NSSet *)value;
- (void)removeThings:(NSSet *)value;

我需要覆盖所有这四个函数吗?如何干净利落地做到这一点的最佳实践是什么?如果存在反向关系,我是否需要在setter中执行任何操作来确保正确设置反向关系?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-04 20:39:00

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

票数 1
EN

Stack Overflow用户

发布于 2012-11-04 20:39:18

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13218435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档