UILabel int count ++ 不起作用

UILabel int count ++ doesn't work

我试图无限期地计算 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");
    }
}

是否每次点击标签时都会调用此函数?如果是这样,您需要将 taps 定义为全局变量,因为每次点击标签时都会重置它。尝试类似的东西:

int taps;

-(void)cycleLabelString {
...
int taps;

这样每次都会初始化一个新的taps,默认初始化为0。您可能希望它在 属性 中。在您的 .m 文件顶部创建一个私人 class 扩展名,如下所示:

@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");
    }
}