在 iOS8 上实施 iOS9+ 协议
Implementing iOS9+ protocol on iOS8
我正在使用 SFSafariViewController 和 SFSafariViewControllerDelegate。该应用程序也支持 iOS8,但此 class 和委托仅适用于 iOS9。
在 iOS8 上 class 并且未使用委托(在运行时检查 SFSafariViewController 的可用性,并使用 iOS8 兼容的 class),但是如果我的 classes 仍然实现 SFSafariViewControllerDelegate 可以吗?它会导致 iOS8 出现问题吗?这里的标准程序是什么?
不会有问题的。实现协议只对编译器重要。在运行时,只有你是否实现了协议的方法才重要。实现 iOS 8 下 运行 时不会调用的方法与任何其他因为不需要而不会调用的方法没有什么不同。
我正在使用 SFSafariViewController 和 SFSafariViewControllerDelegate。该应用程序也支持 iOS8,但此 class 和委托仅适用于 iOS9。
在 iOS8 上 class 并且未使用委托(在运行时检查 SFSafariViewController 的可用性,并使用 iOS8 兼容的 class),但是如果我的 classes 仍然实现 SFSafariViewControllerDelegate 可以吗?它会导致 iOS8 出现问题吗?这里的标准程序是什么?
不会有问题的。实现协议只对编译器重要。在运行时,只有你是否实现了协议的方法才重要。实现 iOS 8 下 运行 时不会调用的方法与任何其他因为不需要而不会调用的方法没有什么不同。