问题
NSTimer的repeats已经设置为YES了,可还是只执行一次,代码如下:
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 repeats:YES block:^(NSTimer * _Nonnull timer) {
if(progressBar.doubleValue >= 100){
[timer invalidate];
}
progressBar.doubleValue += 1;
}];
[timer fire];
解决方案
求助同事后,最终解决方案如下。
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 repeats:YES block:^(NSTimer * _Nonnull timer) {
if(progressBar.doubleValue >= 100){
[timer invalidate];
}
progressBar.doubleValue += 1;
}];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
[timer fire];
原因
未知,等待后续。