我是Objective-c的新手,可能很容易解决,但无法在任何地方找到答案....
我想在每次用户点击按钮时为变量添加+1,但不是添加+1而是添加+4
- (IBAction)addNewSet:(UIButton *)sender {
NSLog(@"%i",_sliderTag);
_sliderTag += 1;
NSLog(@"ADD NEW %i",_sliderTag);
}
_sliderTag
已经是NSInteger
:
@property (nonatomic,assign) NSInteger* sliderTag;
执行添加后,第一个NSLog
打印0
和第二个打印4
。谁有人解释为什么?这是为了打印0
第一个,因为这个变量的点是设置标签的计数器。
答案 0 :(得分:6)
听起来_sliderTag
是一个指向大小为4个字节的类型的指针。将1添加到指针会使其增加所指向类型的大小。以下两个例子说明了不同之处:
NSInteger foo = 0;
foo += 1;
NSLog(@"result: foo = %d", foo); // result: foo = 1
NSInteger *bar = 0; // note the '*'
bar += 1;
NSLog(@"result: bar = %d", bar); // result: bar = 4
答案 1 :(得分:1)
首先,确保_sliderTag是int或Integer或int而不是Integer *或int *,其次,不要使用%i打印它,但是使用%d