У меня очень длинный цикл расчета. Чтобы дать пользователю представление о прогрессе, я бы предпочел обновить некоторые выходные данные, отображаемые в UILabels, чтобы пользователь мог просмотреть промежуточный вывод.UILabel отображает регулярные обновления, пока цикл выполняется
// Run Activity for Year
for (int day = 1; day < 366; day++) {
for (int hour = 1; hour < 25; hour++) {
for (int minute = 1; minute < 61; minute++) {
display = (day*10000)+(hour*100)+minute;
self.displayTest.text = [[NSString alloc] initWithFormat: @"%d", display];
}
}
}
Очевидно, что self.display.text не будет обновляться, пока -(void) viewDidAppear:(BOOL)animated
не завершена.
Как его получить, чтобы обновить данные, скажем, всякий раз, когда цикл часов завершен? Вы вводите фантомную кнопку и обновляете ее. Это кажется мне немного грубым. Я не хочу прибегать к использованию индикатора активности или представления прогресса. Благодарю.
Я ценю логику, и я уверен, что это правильно. Я подозреваю, что что-то отсутствует, поскольку он только обновляет литерал, когда цикл завершен. Есть что-то, что мне нужно добавить или инициализировать? –
Это на самом деле [self performSelectorOnMainThread: @selector (updateUI :) withObject: [Номер NSNumberWithInteger: display] waitUntilDone: YES]; –
@EdwardHasted обновленный ответ. –