Когда я нажимаю кнопку, я запускаю цикл вычислений, и мне нужно иметь возможность обновлять основной вид по мере его выполнения. Поскольку это фоновый поток, экран не обновляется до завершения вызова. Как мне добиться этого в Swift? Это мой нынешний упрощенный подход, который не работает.
@IBAction func calculatePower(sender: AnyObject) {
for day in 1...365 {
dispatch_async(dispatch_get_main_queue()) {
self.dayLabel.text = "\(day)"
}
}
}
Обычно я добавляю в цикл несколько нулей, иначе он слишком быстро завершается, переходя от 1 к 365.
В Cocoa я бы использовал такое выражение:
[self performSelectorOnMainThread:@selector(updateDisplayEnergySunEquator:) withObject:[NSNumber numberWithDouble:distanceFromSun] waitUntilDone:YES];
Любые идеи?