Swift内置支持检查API可用性,这可确保您不会意外使用在给定部署目标上不可用的API。
编译器使用SDK中的可用性信息来验证代码中使用的所有API是否在项目指定的部署目标上可用。如果您尝试使用不可用的API,Swift会在编译时报告错误。
您可以在or 语句中使用可用性条件来有条件地执行代码块,具体取决于您要使用的API是否在运行时可用。当编译器验证该代码块中的API可用时,编译器将使用可用性条件中的信息。if
guard
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
目标指定的最小部署目标上执行的主体。
在一般形式中,可用性条件采用平台名称和版本的列表。您可以使用平台的名称,如iOS
,macOS
,watchOS
,和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 }
原文地址:https://www.cnblogs.com/strengthen/p/9946011.html
时间: 2024-11-13 06:57:03