每次用户点击按钮时,我都会计算一个简单的例程。
但是整数(numberOfClicks)每次递增4。对于每个用户点击,事件可能会多次发生吗?
(顺便说一下,下面的动作方法与'内部修饰'动作相关联)
- (IBAction)myButtonClicked
{
numberOfClicks+=1;
NSString *clicks = [NSString stringWithFormat:@"number of clicks = %d", numberOfClicks];
myLabel.text = clicks;
}
非常感谢, 克里斯
答案 0 :(得分:1)
如果您添加NSLog(clicks)
之类的调用,并运行代码,是否会收到4次日志消息?
其他按钮是否连接到此IBAction?
您是否已将此IBAction连接到单个按钮的多个插座 - 即触摸内部,触摸外部,触摸拖动内部,触摸拖动外部等等?
答案 1 :(得分:0)
NSInteger是一个原始的,而不是一个对象!你真正在做的是增加NSInteger *指向的地址。由于NSInteger长度为4个字节,因此每次递增时,编译器都会假定,因为它是一个指针,所以你想要跳到内存中的下一个NSInteger,这就是为什么你得到4的倍数。只需删除'*'你宣布NSInteger,你应该全部搞定。因此,不要像int *NameOfDeclaration;
那样声明它,只需删除*
它就像int NameOfDeclaration;