首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >核心数据结构

核心数据结构
EN

Stack Overflow用户
提问于 2012-05-06 06:16:32
回答 1查看 276关注 0票数 0

我正要将持久层添加到我的应用程序中,我决定尝试一下核心数据。目前,我将所有模型映射到实体,这似乎工作得很好。但在我目前的实现中,我使用了一些我称之为“集合”(模型)的东西,例如,我在游戏中有一个磁贴插槽的集合。

这个SlotsCollection类有像findNextInSameRow(),findAvailableSlot()等方法。我对核心数据做了什么,我已经创建了一个游戏实体,并为插槽实体添加了一个多对多关系,有没有一种方法来定义一个类,用它来实例化插槽集合,这样我就可以把我的逻辑放在里面?或者有没有更好的方法让我组织事情。我想我可以在我的游戏实体中创建"managers“,并在初始化时上交插槽

代码语言:javascript
复制
SlotManager* manager = [SlotManager alloc] initWithSlots:self.slots];
Slot* slot = [manager findAvailableSlot];

此外,在我将所有模型“迁移”到实体之后,我有很多实体没有任何属性,但只保留了对其他实体的引用。我有点担心我在构建核心数据时使用了错误的思维方式。

EN

回答 1

Stack Overflow用户

发布于 2012-05-06 18:09:59

拥有该集合的类应该具有该集合的逻辑。

如果你有一个从A到B的一对多的关系,那么你应该把关于这种关系的逻辑放在A类中--可能还有一些放在B类中(取决于你的需求)。

注意:如果您正在迭代关系,则需要注意出错行为等。每当核心数据必须执行实际的数据库工作时,您的性能都会受到影响。这与普通的老式SQL没有什么不同。如果你不需要“转到磁盘”,事情就会变得非常快。如果你使用的是fetch request,你总是要做数据库的工作,而且总是(相对)昂贵的。

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

https://stackoverflow.com/questions/10466439

复制
相关文章

相似问题

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