[問題] 兩個class之間互動問題

看板MacDev作者 (blue_sky)時間12年前 (2013/06/18 23:30), 編輯推噓2(2021)
留言23則, 5人參與, 最新討論串1/2 (看更多)
最近在寫小遊戲-丟垃圾(圖-可拖曳)到垃圾桶(圖-不可拖曳) 丟到垃圾桶時會加分 遇到一點問題,困擾許久 正常來說把垃圾丟到垃圾桶時會加分並將分數寫在計分板上 不過我寫來寫去計分的變數有收到,卻無法寫在計分板上 以下是程式碼 GameViewController是我主要元件的class dragView是拖曳圖片動作的class /*dragView*/ - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ BOOL find = NO; GameViewController *ccc =[[GameViewController alloc] init]; for (UIImageView *view in [[self superview] subviews]) { if (view.tag != -1 && CGRectIntersectsRect(dragView.frame, view.frame)) [view setBackgroundColor:[UIColor clearColor]]; [dragView removeFromSuperview]; [ccc setScoreLabel];//設定計分板 find = YES; } } if (!find) { [self returnAnimation]; } } /*GameViewController*/ - (void)setScoreLabel{ score += 100;//有執行到這一行 ScoreLabel.text = [NSString stringWithFormat:@"%d",score];//卻沒執行這一行 } 有大大知道為什麼會這樣嗎? -------------------------- 以下是我的code http://ppt.cc/SlUz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.172.129.31

06/19 00:33, , 1F
我猜是dragview 呼叫了自己的CCC而不是畫面上的那個
06/19 00:33, 1F

06/19 00:57, , 2F
可是dragView中我沒有寫ccc的程式,而且在
06/19 00:57, 2F

06/19 01:00, , 3F
GameViewController中我還特地用個按鈕來檢查score
06/19 01:00, 3F

06/19 01:37, , 4F
用膝蓋猜是 referencing outlet 沒拉
06/19 01:37, 4F

06/19 02:04, , 5F
以下是我設定的Referencing Outlets.@property (strong,
06/19 02:04, 5F

06/19 02:04, , 6F
nonatomic) IBOutlet UILabel *ScoreLabel;
06/19 02:04, 6F

06/19 02:05, , 7F
有連接到ScoreLabel,還是我有設定錯(?
06/19 02:05, 7F

06/19 05:18, , 8F
*ccc 出了 touchedEnd 後 reference counting 還在?
06/19 05:18, 8F

06/19 05:20, , 9F
*ccc 的生命週期是不是只存在這個 method?
06/19 05:20, 9F

06/19 09:24, , 10F
ccc的實體一直產生 且且沒看到你有把 ccc加進view裡面
06/19 09:24, 10F

06/19 09:25, , 11F
那請問你的ccc 的label是拉去哪了呢?
06/19 09:25, 11F

06/19 11:16, , 12F
Q大所說的是Score的值還在?還在,ccc只存在那個method
06/19 11:16, 12F

06/19 11:16, , 13F
REFERENCING左側的圓 是實心的圓 還是空心的圓?
06/19 11:16, 13F

06/19 11:20, , 14F
另外 同意一樓的看法 你得用UIAPPLICATION DELEGATE
06/19 11:20, 14F

06/19 11:21, , 15F
去找到你要的那個viewcontroller 再去呼叫他
06/19 11:21, 15F

06/19 11:21, , 16F
你每次計算分數 都是init一個新的view controller
06/19 11:21, 16F

06/19 11:26, , 17F
c大,不太懂加進view的意思?我的想法是他會呼叫ccc 也
06/19 11:26, 17F

06/19 11:27, , 18F
就是GameViewController中setScoreLabel的方法
06/19 11:27, 18F

06/19 11:28, , 19F
然後由setScoreLabel來將score加分並顯示。
06/19 11:28, 19F

06/19 11:32, , 20F
n大...我沒有畫圓Q_Q,delegate的方法看不太懂說...
06/19 11:32, 20F

06/19 11:43, , 21F
@property (strong ... 的左側工作區 會有個圓
06/19 11:43, 21F

06/19 11:44, , 22F
有點像是scrollbar的那一區 (隔空抓藥開始)
06/19 11:44, 22F

06/19 11:46, , 23F
呵呵 是那個圓阿,抱歉誤會了...他是實心的
06/19 11:46, 23F
※ 編輯: m87145999 來自: 1.172.129.31 (06/19 15:13)
文章代碼(AID): #1Hm7qWGk (MacDev)
文章代碼(AID): #1Hm7qWGk (MacDev)