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 提交错误报告并提出文档增强请求以澄清上述行为。
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 提交错误报告并提出文档增强请求以澄清上述行为。