2011-07-12 63 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