理論上這個進度條應該持續7秒,但它似乎運行了一段時間。我的數學必須是不正確的,或者我忽略了一些東西。簡單的NSTimer進度條持續7秒
定時器應在1秒內被燒成100倍和進度條應該長於約7倍,達到1.0
任何幫助,將不勝感激。
- (void)startTimer;
{
[pBar showProgress:self.progress];
[self.timer invalidate];
self.timer = nil;
if (self.progress < 1.0) {
CGFloat step = 0.01;
self.timer = [NSTimer scheduledTimerWithTimeInterval:step target:self
selector:@selector(startTimer)
userInfo:nil repeats:NO];
self.progress = self.progress + 0.00143;
} else {
[self performSelector:@selector(stopProgress)
withObject:nil afterDelay:0.5];
}
}
你想要做什麼,'如果''重複'是'否'。並且你正在比較兩個浮點數達到6位小數,這主要是給你不正確的比較。 –
StartTimer在做什麼? – arnoapp
什麼是有點長,你如何驗證它?另外,你想完成什麼?您每次迭代都會按照固定的數量增加進度,理論上700次迭代後,它應該是完整的,但它不需要0時間來安排定時器。 – lintmachine