gpt4 book ai didi

ios - 无法使用 NSTimer 更新 UI

转载 作者:行者123 更新时间:2023-11-29 02:50:48 24 4
gpt4 key购买 nike

在我的应用程序中,我想使用 NSTimer 更新我的 UIButton 实例,但我的按钮标题没有随着时间的推移而改变。我的代码在这里:

-(void)fireTimer{

self.leftTime = 30;
self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction) userInfo:nil repeats:YES];

[self.timer fire];
}

- (void)timerAction
{
self.leftTime--;
NSLog(@"%d current runloop and mode is %@", self.leftTime, [NSRunLoop currentRunLoop].currentMode);

[self.customBtn setTitle:[NSString stringWithFormat:@"leftTime:%d", self.leftTime] forState:UIControlStateNormal];

if(self.leftTime == 0)
{
[self.customBtn setTitle:[NSString stringWithFormat:@leftTime :%d, self.leftTime] forState:UIControlStateNormal];
[self.timer invalidate];
}
}

并且 NSLog 输出是正确的,当 self.timeLeft == 0 时,我的按钮可以正确更改它的标题。

enter image description here

谁能告诉我出了什么问题吗?谢谢!

最佳答案

我发现了问题,我使用 KVO observe self.leftTimer,当定时器触发时,我设置了我的 button.enable = NO,所以它不能改变标题,当 self.leftTime == 0 时,我的按钮。启用 = 是。我的粗心。谢谢大家。

关于ios - 无法使用 NSTimer 更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24566266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com