В моем приложении для iPhone у меня есть дополнительный поток, который я создал для выполнения задач в фоновом режиме, и каждые несколько миллисекунд представление должно обновляться (не из основного потока).Я попробовал следующий код в моем подклассе UIView:
[self performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:NO];
Это прекрасно работает на симуляторе, однако на моем устройстве он очень медленный.Единственное, о чем я могу думать, это то, что основной поток забит обычными подпрограммами UIKit, что означает, что мой setNeedsDisplay вызывается намного позже, когда он должен (примерно на 1/2 секунды позже).Я думаю, что это потому, что в другом коде, основанном на взаимодействии с пользователем, я сразу вызываю setNeedsDisplay, и он работает нормально, без каких-либо задержек.Во вторичном потоке меньше внутренних вычислений, чем в потоке пользовательского интерфейса.Это приводит к очень плохим визуальным эффектам в моем приложении.
Итак, чтобы подвести итог, как я могу решить эту проблему?
ОБНОВЛЕНИЕ:
Есть ли другой способ сказать мне, что представление должнообновить себя х раз в секунду?это могло бы в конечном итоге стать для меня лучшей работой, если это возможно.Я попробовал CADisplayLink безуспешно ...