[Swift]檢查API可用性
阿新 • • 發佈:2018-11-12
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 macOS3 } 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 }