iPhone заставляет перерисовывать (Objective C ++) - PullRequest
0 голосов
/ 16 декабря 2011

Я кодирую это приложение в целях c ++ (файл .mm), и у меня возникли некоторые трудности.У меня есть этот цикл, и каждые 10 секунд он запускается и обновляет некоторые числа, которые я выводил, чтобы пометить поля на дисплее.Проблема в том, что, хотя цикл работает должным образом с 10-секундной паузой между запусками (которую я реализовал с помощью pthreads и функции сна в связанном файле C ++), дисплей не будет обновляться, чтобы показать эти новые значения.Есть ли способ заставить его обновить / перерисовать в конце каждого цикла?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2011

Попробуйте выполнить

[ CATransaction flush ]; 

в главном потоке пользовательского интерфейса после обновления меток.Вы должны обновлять UILabel только в основном потоке пользовательского интерфейса, а не в спящем потоке.Спящий основной поток пользовательского интерфейса заморозит пользовательский интерфейс и, возможно, убьет ваше приложение с помощью сторожевого таймера ОС.

0 голосов
/ 16 декабря 2011

Обновляете ли вы значение метки в конце каждого цикла?

[label setText:[NSString stringWithFormat:@"New Value Is: %@", someOtherString]];
...