@available
@available可用于修飾類,協(xié)議,方法,屬性,表明這些類型適用的平臺和操作系統(tǒng)
@available(iOS 10.0, *)
Class Person {}
@available(iOS 10.0, *)
public protocol UNUserNotificationCenterDelegate : NSObjectProtocol {}
@available(iOS 10.0, *)
public func remoteUserNotification(){}
@available(iOS 3.0, *)
open var highlightedImage: UIImage? // default is nil
@available(iOS 10.0, macOS 10.12, *)
@available(swift 3.0.2)
@available(macOS 10.12, *)
struct MyStruct {}
#available
#available 用在條件語句代碼塊中,判斷不同的平臺下,做不同的邏輯處理,比如:
if #available(iOS 8, *) {}
guard #available(iOS 11, *) else {}
作用時期
@available:編譯期 ------------- #available:運行期