Нужно ли рисовать метод UIView -drawRect: в главном потоке или CADisplayLink может вызывать -setNeedsDisplay в пользовательском представлении в другом цикле выполнения?
-drawRect:
-setNeedsDisplay
Начиная с iOS 4.0 , вы можете рисовать в UIView's -drawRect: в фоновом потоке:
Рисование в графическом контексте в UIKit теперь является потокобезопасным. В частности: Процедуры, используемые для доступа к графическому контексту и манипулирования им, теперь могут корректно обрабатывать контексты, находящиеся в разных потоках. Рисование строк и изображений теперь поточно-ориентировано. Использование объектов цвета и шрифта в нескольких потоках теперь безопасно.
См. Также их комментарии в Технические вопросы и ответы QA1637 относительно этого в iOS 4.0.
Любая версия iOS до этого должна иметь этот рисунок в главном потоке.
Все вызовы UIKit должны выполняться в главном потоке.