需要帮助iPhone SDK中的简单计数错误

时间:2010-03-20 03:48:53

标签: iphone xcode iphone-sdk-3.0

所以我基本上创建了一个为数字添加计数的应用程序,然后在每次点击按钮时显示它。

然而,发出的第一个点击不采取任何行动,但在第二次点击时添加一个(按计划)。我搜索到地球的尽头寻找没有运气的解决方案,所以我会看到你们可以做到这一点。 :)

#import "MainView.h"

@implementation MainView

int count = 0;

-(void)awakeFromNib {

    counter.text = @"0";

}

- (IBAction)addUnit {

    if(count >= 999) return;

    NSString *numValue = [[NSString alloc] initWithFormat:@"%d", count++];
    counter.text = numValue;
    [numValue release];
}

- (IBAction)subtractUnit {

    if(count <= 0) return;

    NSString *numValue = [[NSString alloc] initWithFormat:@"%d", count--];
    counter.text = numValue;
    [numValue release]; 
}
@end

1 个答案:

答案 0 :(得分:2)

实际上第一次点击是做某事。

您的帖子正在递增count,因此第一次调用addUnit: count时会增加,但count++的返回值是旧值count。您希望使用++count进行预先增量。

示例:

int count = 0;
int x = count++;
// x is 0, count is 1

x = ++count;
// x is 2, count is 2