Ios Xcode 4.6-整数乘以4本身?
当我尝试将1添加到“Clicks”值并将其打印出来时,它变为4 sclicks是我的标签,clicks是整数Ios Xcode 4.6-整数乘以4本身?,ios,objective-c,Ios,Objective C,当我尝试将1添加到“Clicks”值并将其打印出来时,它变为4 sclicks是我的标签,clicks是整数 -(IBAction)Click:(id)sender { clicks = clicks + 1; sclicks.text = [NSString stringWithFormat:@"Clicks: %d", clicks]; } 点击当然链接到XIB中的我的按钮。我基本上是试图让它成为一个有人点击按钮,它更新int以添加一个,然后更新XIB中的标签。当我运行它并点击按钮时,标签
-(IBAction)Click:(id)sender {
clicks = clicks + 1;
sclicks.text = [NSString stringWithFormat:@"Clicks: %d", clicks];
}
点击当然链接到XIB中的我的按钮。我基本上是试图让它成为一个有人点击按钮,它更新int以添加一个,然后更新XIB中的标签。当我运行它并点击按钮时,标签上写着:“点击:4”,而它应该是“点击:1”。当我将clicks设置为1而不添加到它时,它工作得非常好。我也尝试过点击++
我的.h文件:
@interface ClickIt : ViewController {
}
@property (nonatomic) NSInteger *clicks;
@property (nonatomic) IBOutlet UILabel *sclicks;
@end
该财产应声明为:
@property(非原子)NSInteger单击代码>
我删除了*。你得到的是一个指向NSInteger的指针。当您将该值增加1时,实际地址将增加4,因为在这个平台上,nsinteger正好有4个字节长 该属性应声明为:
@property(非原子)NSInteger单击代码>
我删除了*。你得到的是一个指向NSInteger的指针。当您将该值增加1时,实际地址将增加4,因为在这个平台上,nsinteger正好有4个字节长 在哪里定义了单击
?如果在任何地方,它在哪里更新?你能为它发布代码吗?如果你在代码上设置一个断点,它是否会在每次单击时被调用4次?如果单击
实例变量,那么你就找到了使用属性的理由。对于属性,您只需覆盖setter,在其中放置一个断点,就可以看到调用堆栈的所有更改。我对xcode有点不在行,您能解释一下断点吗?我确实添加了我的.h文件@wozWhereclicks
defined?如果在任何地方,它在哪里更新?你能为它发布代码吗?如果你在代码上设置一个断点,它是否会在每次单击时被调用4次?如果单击
实例变量,那么你就找到了使用属性的理由。对于属性,您只需覆盖setter,在其中放置一个断点,就可以看到调用堆栈的所有更改。我对xcode有点不在行,您能解释一下断点吗?我确实添加了.h文件@wozgood point<代码>NSInteger*
增加四个字节,因为NSInteger有四个字节宽。哇,我真傻。谢谢我对Xcode真的很陌生,所以我仍然掌握着语法和其他方面的诀窍`说得好<代码>NSInteger*
增加四个字节,因为NSInteger有四个字节宽。哇,我真傻。谢谢我对Xcode真的很陌生,所以我仍然掌握着语法和其他方面的诀窍`