【发布时间】:2013-05-23 15:28:27
【问题描述】:
我正在开发一款游戏,该游戏由放置在游戏区域中的一堆卡片组成。每张卡片都是 UIView 的子类。我也在 Core Data 模型对象中跟踪每张卡片的位置,因此我可以在它移动的任何时候保存它的位置。
我试图保持良好的 MVC 分离,但我想知道在控制器中识别哪个模型对象对应于卡片视图的最佳方法是什么。即,当卡片视图在游戏区域上移动时,它的平移手势识别器调用控制器中的方法。然后此方法应更新卡片模型对象中的新位置坐标(并将卡片保存到数据库中)。
我可以想到几种方法来提供视图到模型的参考:
- 将卡片模型对象存储在每个卡片视图对象的属性中。 (但这会将模型放在视图中,不是吗?)
- 将卡片模型的 URL 标识符存储在卡片视图对象的属性中。 (与之前相同,但只是一个参考,重量更轻)
- 创建字典查找 控制器中的表,将卡片视图映射到卡片模型对象。 (太笨重了?)
有没有更好的方法?你会怎么做?
【问题讨论】:
标签: ios model-view-controller binding