ios – 我需要明确swift 3兼容性和API可用性之间的区别

一些例子:在 swift 2中我们有NSData和NSUrl;在swift 3中我们有数据和URL.如果您点击数据,则表示可以从iOS 10及更高版本获得.

请有人解释以下内容:如果Apple文档说某些内容仅适用于iOS 10及更高版本,那是否意味着我只能在目标为iOS 10及更高版本的应用上使用它?

我已经读过Swift 3与iOS 8兼容,但这些更改(例如NSData to Data)是从Swift 2迁移到3的一部分.因此,如果Data仅在iOS 10及更高版本中可用,那么它是什么意思说Swift 3与iOS 8兼容?

我想,从本质上讲,我对API可用性和Swift 3兼容性之间的区别感到困惑.

非常感谢您的帮助.

解决方法

如果Apple文档说某些内容仅适用于iOS 10及更高版本,那是否意味着我只能在目标为iOS 10及更高版本的应用上使用它?

不可以.Apple文档的可用性部分可能会显示两种不同的信息 – SDK可用性和目标操作系统可用性.

对于Data,标准库的Data代码兼容所有iOS 8及更高版本,但标准库包括Data(Swift 3标准库)仅包含在iOS SDK 10或更高版本中,Apple的doc的可用性部分表示该含义中的“可用性”.

This thread in the Apple’s dev forums会有所帮助.通常,您可以依赖Xcode / Swift的可用性检查功能.当您将项目的最低目标标记为iOS 8.0并且没有获得有关可用性的警告时,项目中使用的所有功能都应该适用于iOS 8.0设备.

您可以发送bug report作为文档错误.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...