1

当我尝试将值“Clicks”加 1 并打印出来时,它变为 4。

sclicks 是我的标签,而 clicks 是整数。

-(IBAction)Click:(id)sender {
clicks = clicks + 1;
sclicks.text = [NSString stringWithFormat:@"Clicks: %d", clicks];
}

点击当然链接到我在 XIB 中的按钮。我基本上是想让它成为有人单击按钮,它会更新 int 以添加一个,然后更新 XIB 中的标签。当我运行它并点击按钮时,标签显示为:“点击次数:4”,而它应该显示为“点击次数:1”。当我 SET 点击一个而不添加它时,它工作得很好。我也试过点击++。

我的 .h 文件:

@interface ClickIt : ViewController {

}

@property (nonatomic) NSInteger *clicks;
@property (nonatomic) IBOutlet UILabel *sclicks;

@end
4

1 回答 1

4

该属性应声明为:

@property (nonatomic) NSInteger clicks;

我删除了 *. 你所拥有的是一个指向 NSInteger 的指针。当您将其增加 1 时,实际地址会增加 4,因为 NSIntegers 在此平台上恰好是 4 个字节长。

于 2013-07-16T19:19:38.673 回答