2011-07-12 62 views
1

我想值1每個I按下一個按鈕時添加到一個int,但是當我做它增加了4詮釋++是增加4而不是1

-(IBAction)donePressed { 


timesPressed ++; 

thirdLabel.text = [NSString stringWithFormat:@"Times done: %i", timesPressed]; 

} 

當我這樣做,它打印出4,8,12,16,而不是1,2,3,4

感謝

+5

你可以把一個NSLog,以確保它只被調用一次?另外,你能告訴我們你在哪裏聲明你的int嗎? – EmilioPelaez

+1

奇怪,但有趣 – 2011-07-12 15:32:39

+0

我會在一秒鐘內檢查NSLog,但我所做的只是.h int * timesPressed;並在.m timesPressed = 0;在viewDidLoad中。 – Phill

回答

11

根據以上你最後的評論,timesPressed被定義爲int *timesPressed;

這是不正確,你想將它定義爲int timesPressed;

上指針類型做+乘以除了由類型的大小,如果你想知道更多,請閱讀指針和指針算術。

+1

+1正確。 –

+0

謝謝你,我有多愚蠢。 – Phill

+1

+1用於捕捉他評論中的必要信息。 – Luke

-2

你嘗試使用%d代替%嗎?

+2

%d和%i是相同的,均表示「有符號整數」 –

+0

-1:這不是真正相關或有幫助 –

0

在頭文件中,它不應該是int *timesPressed。它應該是int timesPressed;

+0

是的,謝謝! :) – Phill