我试图无限期地计数UILabel上的轻击次数,每次点击标签时都会显示不同的字符串。但是,它总是使用+++= 1在2次抽头处停止

 -(void)cycleLabelString {
    int taps;
    taps += 1;
    NSLog(@"taps = %d", taps);

    if (taps == 1) {
        self.randomLabel.text = [NSString stringWithFormat:@"$%.2f", pagesCount * 0.69];
    } else if (taps == 2) {
        self.randomLabel.text = [NSString stringWithFormat:@"%d", pagesCount];
    } else if (taps >= 3) {
        NSLog(@" >= 3");
    }
}

最佳答案

int taps;


每次都会初始化一个新的taps,并且默认情况下将其初始化为零。您可能希望在属性中使用它。在您的.m文件顶部进行私有类扩展,如下所示:

@interface YourClassNameHere ()

@property (nonatomic) int taps;

@end


然后使用它:

-(void)cycleLabelString {
    self.taps += 1;
    NSLog(@"taps = %d", self.taps);

    if (self.taps == 1) {
        self.randomLabel.text = [NSString stringWithFormat:@"$%.2f", pagesCount * 0.69];
    } else if (self.taps == 2) {
        self.randomLabel.text = [NSString stringWithFormat:@"%d", pagesCount];
    } else if (self.taps >= 3) {
        NSLog(@" >= 3");
    }
}

09-09 23:20