UITableView 中核心数据对象的多个副本

Posted

技术标签:

【中文标题】UITableView 中核心数据对象的多个副本【英文标题】:Multiple Copies of a Core Data Object in a UITableView 【发布时间】:2011-02-15 17:03:41 【问题描述】:

我正在制作一个简单的基于 UITableView 的游戏。

它由 Encounters 组成,其中包含角色和怪物(两者都包含一组游戏统计数据),并且在单元格中将有一些控件用于与这些角色和怪物进行交互。

根据其对象定义,角色只会在遭遇战中存在一次。一个怪物可能会出现多次(例如,玩家的英雄可能面对 3 个兽人狂战者和 2 个地精妖术师,但每个都在数据库中一次,我只想要两到三个副本给定的遭遇。

所以我在弄清楚如何在应用程序中对此进行建模时有点空白。基本上我想要一个怪物的数据库,但是当用户创建并遇到他们时,他们会选择一个怪物,输入他们想要的数量,并最终得到可以单独与之交互的怪物的多个副本

【问题讨论】:

【参考方案1】:

所以,用户看到一个对话框并选择了一些怪物,然后用户被带到 UITableView 以对抗这些怪物?

如果是这样,听起来你想要一个怪物的“类”和给定类的任意数量的“实例”。您的核心数据对象将用于生成单独的怪物,它们本身不需要是 NSManagedObjects。

如果您计划为每个怪物设置一个 UITableViewCell,那么您可能希望继承 UITableViewCell 并(从概念上)实例化尽可能多的这些怪物。如果你的怪物多于 UITableView 中无法显示的数量,那么你会希望使用标准方法来重用单元格。

似乎缺少的是怪物模型——可以添加到数组中并用于填充 UITableView 的东西。

【讨论】:

以上是关于UITableView 中核心数据对象的多个副本的主要内容,如果未能解决你的问题,请参考以下文章

iOS 5 - 按核心数据属性将 UITableView 划分为多个部分

将新的核心数据对象插入到多个 NSOrderedSet 会忽略索引

具有多个实体和 uitableview 的核心数据

核心数据:制作数据库的逐个对象副本

如何制作保持不变的核心数据对象的副本

从 UITableView 选择行时将核心数据对象传递给另一个视图控制器