繁体   English   中英

iOS中的MVC:如何识别与触摸视图相对应的模型对象?

[英]MVC in iOS: How to identify which model object corresponds to a touched view?

我正在开发一个游戏,其中包含一堆在游戏区上布置的纸牌。 每张卡都是UIView的子类。 我还跟踪每个卡在Core Data模型对象中的位置,因此我可以随时移动它的位置。

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

我可以想到几种提供模型参考的方法:

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

有没有更好的办法? 你会怎么做?

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

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

应该从绘制游戏区域的类中调用该方法。

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM