我正在尝试使用标准纸牌创建纸牌游戏。每次有人从牌组中抽一张牌时,我都需要能够在屏幕上创建一张新牌,然后能够在整个游戏过程中不断移动它。我有游戏中每张可用卡片的图像文件。
我已经尝试创建一个卡片对象,该对象包含卡片的 UIImageView 以及其他一些基本数据,但我无法在第一次触摸后重新引用该卡片以再次移动它。这是正确的方法吗?
我正在尝试使用标准纸牌创建纸牌游戏。每次有人从牌组中抽一张牌时,我都需要能够在屏幕上创建一张新牌,然后能够在整个游戏过程中不断移动它。我有游戏中每张可用卡片的图像文件。
我已经尝试创建一个卡片对象,该对象包含卡片的 UIImageView 以及其他一些基本数据,但我无法在第一次触摸后重新引用该卡片以再次移动它。这是正确的方法吗?
如果我正确理解了您的问题,那么在使用某些向您传递视图对象的 API 时,您将无法找到哪个“卡片”与哪个“视图”相关联。如果是这种情况,我认为答案是你的依赖关系颠倒了。当使用 Cocoa 非常重视的 Model-View-Controller 时,您应该创建一个 UIImageView 子类,其中包含对您的 Card 对象的引用。我会制定一个协议(CardDelegate?)并使用您的卡对象(getValue、getSuit 等)实现该协议。您的自定义视图将有一个方法,例如 getCardDelegate,它从您的自定义视图返回委托。代表持有您卡的所有状态。稍后,当您从某个 API 获取视图时,您可以向其委托发送消息以更改程序的状态,因为视图是指模型。您会注意到这与 Interface Builder 使用的模式相同:您构建一个视图,然后将其链接到完成所有工作的某个委托。