UILabel int count ++ 不起作用



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

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

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

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

最新更新