Правильный способ создания CADisplayLink: UIScreen против init()

Есть 2 способа получить CADisplayLink в iOS. Прямым является использование инициализатора:

let displaylink = CADisplayLink(target: self,
                                selector: #selector(step))

Возвращает новую ссылку для отображения.

Этот способ используется в примере Apple: Листинг 1.

Но есть и другой способ получить его от UIScreen:

let displayLink = UIScreen.main.displayLink(withTarget: self, 
                                            selector: #selector(step))

Возвращает объект ссылки на экран для текущего экрана.
Вы используете отображаемые объекты ссылок для синхронизации вашего кода рисования с частотой обновления экрана. Вновь созданная ссылка на отображение сохраняет цель.


Документация очень плоха для деталей, но второй способ выглядит немного более оптимизированным. Может быть кто-то, кто имеет опыт работы с CADisplayLink Можно сказать, какой способ его создания является предпочтительным.

0 ответов

Другие вопросы по тегам