[Swift]检查API可用性

Swift内置支持检查API可用性,这可确保您不会意外使用在给定部署目标上不可用的API。

编译器使用SDK中的可用性信息来验证代码中使用的所有API是否在项目指定的部署目标上可用。如果您尝试使用不可用的API,Swift会在编译时报告错误。

您可以在or 语句中使用可用性条件来有条件地执行代码块,具体取决于您要使用的API是否在运行时可用。当编译器验证该代码块中的API可用时,编译器将使用可用性条件中的信息。ifguard

1 if #available(iOS 10, macOS 10.12, *) {
2     // Use iOS 10 APIs on iOS, and use macOS 10.12 APIs on macOS
3 } else {
4     // Fall back to earlier iOS and macOS APIs
5 }

上面的可用性条件指定在iOS中,if语句的主体仅在iOS 10及更高版本中执行; 在macOS中,仅在macOS 10.12及更高版本中。最后一个参数*是必需的,并指定在任何其他平台上,在if目标指定的最小部署目标上执行的主体。

在一般形式中,可用性条件采用平台名称和版本的列表。您可以使用平台的名称,如iOSmacOSwatchOS,和tvOS-对于完整列表,请参阅声明属性。除了指定主要版本号(如iOS 8或macOS 10.10)之外,您还可以指定次要版本号,如iOS 11.2.6和macOS 10.13.3。

1 if #available(platform name version, ..., *) {
2     statements to execute if the APIs are available
3 } else {
4     fallback statements to execute if the APIs are unavailable
5 }

猜你喜欢

转载自www.cnblogs.com/strengthen/p/9946011.html