我希望您能够使用宏的方式,让我的代码同时支持Swift 1.2和2.0的编译,且不需要创建新的分支。
在Swift中,通过自定义Swift编译标记来定义宏,并不能像Objective-C那样自由地检查条件。
例如,在函数声明中,如果使用Objective-C的话,我可以这样做。
在Swift中,通过自定义Swift编译标记来定义宏,并不能像Objective-C那样自由地检查条件。
例如,在函数声明中,如果使用Objective-C的话,我可以这样做。
class ThisIsAClass
{
#if SWIFT_TWO_POINT_O
func foo(bar bar: String)
#else
func foo(#bar: String)
#endif
{
// Do some common code
// ...
// ...
#if SWIFT_TWO_POINT_O
print("Do 2.0 things")
#else
print("Do 1.2 things")
#endif
}
}
函数内的宏条件检查是可以的。 但是在声明函数时进行条件检查会失败。
有没有办法实现类似这样的功能。
或者区分Swift 1.2和2.0分支是唯一的方法。