2010-05-21 161 views
1

我想創建一個紙牌遊戲卡標準的甲板。每次有人從甲板上抽出一張牌,然後能夠在整個遊戲過程中不斷移動它,我需要能夠在屏幕上創建一張新牌。我有遊戲中每張卡片的圖像文件。創建標準紙牌遊戲(iPhone SDK)

我試圖創建其持有的卡一個UIImageView與其他一些基本數據一起,但我有麻煩再參照該卡到第一觸摸後再次將其移動卡對象。這是正確的方式嗎?

回答

1

如果我理解你的問題正確,你就具有「一卡通」相關聯很難找到與「視圖」一段時間後,使用通過您的視圖對象的一些API的時候。我認爲答案是,如果情況如此,那就是你的依賴性顛倒了。當使用Model-View-Controller時,Cocoa很重要,你應該創建一個UIImageView子類,它包含對Card對象的引用。我會做一個協議(CardDelegate?),並與您的卡對象(的getValue,getSuit,等...)實現協議自定義視圖將有一個方法,例如getCardDelegate從您的自定義視圖返回委託。代表持有你的卡的所有狀態。之後,當您從某個API獲取視圖時,您可以將消息發送給其委託以更改程序的狀態,因爲該視圖是指模型。您會注意到這與Interface Builder使用的模式相同:您構建視圖,然後將其鏈接到完成所有工作的某個代理。