是否可以在Swift中仅为特定的iOS版本定义变量?在班级

Mer*_*Ong 2 ios swift

是否可以在对象的类级别上实现此目的?专门看这个有一个包含WatchConnectivity的应用程序,但也支持iOS8

class Test {
    if #available(iOS 9, *) {
        let session: WCSession ......
    }
}
Run Code Online (Sandbox Code Playgroud)

JRG*_*per 5

您可以使用计算static属性:

public class Example {  
  public static var answerToEverything: Int {
    if #available(iOS 9, *) {
      return 42
    } else {
      return 0
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以考虑使用@available属性:

public class Example {
  @available(iOS, introduced=1.0)
  public static var answerToEverything: Int = 42
}
Run Code Online (Sandbox Code Playgroud)

你的库(不是iOS)1.0的版本在哪里.

如果你更关心确保它在iOS上使用而不太关心iOS版本,这将非常有用.