CADisplayLink 的 displayLinkWithTarget:selector: 和 UIScreen 的 displayLinkWithTarget:selector: 有什么区别?

What's the difference between CADisplayLink's displayLinkWithTarget:selector: and UIScreen's displayLinkWithTarget:selector:?

CADisplayLink 有这个方法是有道理的,但我很好奇为什么 UIScreen 也会有这个方法。

文档说屏幕提供的显示 link 与该屏幕相关联。但是,查看官方文档,与任何屏幕都没有明显的关系;显示 link 被添加到一个运行循环中,仅此而已。

挖掘deeper in the private headers, there is a display property, of type CADisplay, which is also found for UIScreen。如此看来,您确实可以创建特定于屏幕的显示 link。通常在 iOS 和 tvOS 上只有一个屏幕,但情况并非总是如此(例如将显示器连接到 iOS 设备)。如果您的应用支持外接显示器,并且您发现需要使用显示器 link,则应使用 -[UIScreen displayLinkWithTarget:selector:] 方法。

考虑向 Apple 提交错误报告并提出文档增强请求以澄清上述行为。