这是我的代码:
- (IBAction)NextTouched:(id)sender {
NSLog(@"Index = %i", index);
if([project getCount]>(index++)) {
[self setUI:index];
}
}
索引是一个整数,在我的.h文件中声明:
@property (nonatomic) int *index;
但是每次我点击按钮时,日志都会显示整数是4。你能告诉我为什么吗?
答案 0 :(得分:12)
它上升4的原因是因为index
是指针。当您递增指针时,其值会增加它指向的数据类型的大小,在本例中为int
,即4个字节。
鉴于index
似乎是NSArray
(或其他一些集合类)的索引,我认为您希望将其int
而不是int *
来解决你的问题。最好还是使它无符号,例如NSUInteger
,这是从count
方法返回的类型。
此外,我认为您将要使用前缀增量而不是后缀增量,以便if
测试使用新增加的值,而不是之前的值。
答案 1 :(得分:0)
只需将index定义为整数变量而不是指针,如果要在增量前使用index ++打印该值,则使用++ index增加值,然后打印