Правильный способ создания 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
Можно сказать, какой способ его создания является предпочтительным.