作者m87145999 (blue_sky)
看板MacDev
標題[問題] 兩個class之間互動問題
時間Tue Jun 18 23:30:37 2013
最近在寫小遊戲-丟垃圾(圖-可拖曳)到垃圾桶(圖-不可拖曳)
丟到垃圾桶時會加分
遇到一點問題,困擾許久
正常來說把垃圾丟到垃圾桶時會加分並將分數寫在計分板上
不過我寫來寫去計分的變數有收到,卻無法寫在計分板上
以下是程式碼
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
1F:推 Piceman:我猜是dragview 呼叫了自己的CCC而不是畫面上的那個 06/19 00:33
2F:→ m87145999:可是dragView中我沒有寫ccc的程式,而且在 06/19 00:57
3F:→ m87145999:GameViewController中我還特地用個按鈕來檢查score 06/19 01:00
4F:→ nobody1:用膝蓋猜是 referencing outlet 沒拉 06/19 01:37
5F:→ m87145999:以下是我設定的Referencing Outlets.@property (strong, 06/19 02:04
6F:→ m87145999:nonatomic) IBOutlet UILabel *ScoreLabel; 06/19 02:04
7F:→ m87145999:有連接到ScoreLabel,還是我有設定錯(? 06/19 02:05
8F:→ QuakeRz:*ccc 出了 touchedEnd 後 reference counting 還在? 06/19 05:18
9F:→ QuakeRz:*ccc 的生命週期是不是只存在這個 method? 06/19 05:20
10F:推 charlesdc:ccc的實體一直產生 且且沒看到你有把 ccc加進view裡面 06/19 09:24
11F:→ charlesdc:那請問你的ccc 的label是拉去哪了呢? 06/19 09:25
12F:→ m87145999:Q大所說的是Score的值還在?還在,ccc只存在那個method 06/19 11:16
13F:→ nobody1:REFERENCING左側的圓 是實心的圓 還是空心的圓? 06/19 11:16
14F:→ nobody1:另外 同意一樓的看法 你得用UIAPPLICATION DELEGATE 06/19 11:20
15F:→ nobody1:去找到你要的那個viewcontroller 再去呼叫他 06/19 11:21
16F:→ nobody1:你每次計算分數 都是init一個新的view controller 06/19 11:21
17F:→ m87145999:c大,不太懂加進view的意思?我的想法是他會呼叫ccc 也 06/19 11:26
18F:→ m87145999:就是GameViewController中setScoreLabel的方法 06/19 11:27
19F:→ m87145999:然後由setScoreLabel來將score加分並顯示。 06/19 11:28
20F:→ m87145999:n大...我沒有畫圓Q_Q,delegate的方法看不太懂說... 06/19 11:32
21F:→ nobody1:@property (strong ... 的左側工作區 會有個圓 06/19 11:43
22F:→ nobody1:有點像是scrollbar的那一區 (隔空抓藥開始) 06/19 11:44
23F:→ m87145999:呵呵 是那個圓阿,抱歉誤會了...他是實心的 06/19 11:46
※ 編輯: m87145999 來自: 1.172.129.31 (06/19 15:13)