为什么我的按钮点击事件被调用了4次?

时间:2009-08-24 22:13:24

标签: iphone objective-c

可能是一个菜鸟问题,但我正在尝试编写一个简单的iPhone应用程序,该应用程序会根据点击按钮的次数增加标签。我有以下代码:

#import "Controller.h"

int *i = 0;
@implementation Controller 
- (IBAction)buttonClicked:(id)sender {      
    NSString *numTimesClicked = [NSString stringWithFormat:@"%d",i++    ];      
    myLabel.text    = numTimesClicked;      
}
@end

单击按钮时,标签会以4的倍数(4,8,12,16等)更新。我可能在这里做错了什么?

1 个答案:

答案 0 :(得分:10)

查看i

的定义
int *i = 0;

i不是整数 - 它是指向整数的指针。 int的大小在您的体系结构上是4个字节,因此指针递增4(这将是int数组中下一个int的地址)。您想将其声明为int i = 0