在Swift 2中,如何使用#available
条件来防止代码块在某个平台上执行? *
似乎允许您在部署目标中指定的版本。并指定iOS Int.max
无效。
答案 0 :(得分:1)
#available
用于指定某些平台上的某些版本。如果您只想将代码限制到某个平台,则可以使用编译器指令。
#if os(iOS)
// do stuff only on iOS
#elseif os(OSX)
// do stuff only on OS X
#endif
但我相信你试图用Int.max
做的事情并不起作用,因为它需要一个UInt32
字面值(即最多4294967295,即(2 ^ 32) - 1或UInt32.max -1):
if #available(iOS 1000, watchOS 1000, *) {
// Should execute only on OSX higher than deployment target
} else {
}
答案 1 :(得分:0)
请查看swift 2.0中可用性检查的语法
if #available(platform name version, ..., *) {
statements to execute if the APIs are available
} else {
fallback statements to execute if the APIs are unavailable
}