iOS中的MVC:如何识别哪个模型对象对应于触摸的视图?

时间:2013-05-23 15:28:28

标签: ios model-view-controller binding

我正在制作一个游戏,其中包括一堆放在游戏区域的牌。每张卡都是UIView的子类。我也跟踪Core Data模型对象中每张卡的位置,这样我就可以在它移动的任何时候保存它的位置。

我正在努力保持良好的MVC分离,但我想知道在控制器中识别哪个模型对象对应于卡片视图的最佳方法是什么。即,当在观看区域上移动卡片视图时,其平移手势识别器调用控制器中的方法。然后,此方法应更新卡片模型对象中的新位置坐标(并将卡片保存到数据库中)。

我可以想出几种方法来提供视图到模型的引用:

  • 将卡片模型对象存储在每个卡片视图对象的属性中。 (但这会把模型放在视图中,不是吗?)
  • 将卡片型号的URL标识符存储在卡片视图对象的属性中。 (与之前相同,但只是参考,重量更轻)
  • 创建字典查找 控制器中将卡视图映射到卡模型对象的表。 (太笨重?)

有更好的方法吗?你会怎么做?

1 个答案:

答案 0 :(得分:0)

我要做的是复制表格视图的行为。

您可以使用一种方法来询问每张卡,并在该方法中创建并返回从视图控制器(控制器)中的核心数据(模型)检索到的卡(视图)

应该从描绘比赛区域的类中调用该方法。

希望有所帮助