杨子刚的博客


swift进化

2016-03-22

2016年3月21日 swift 2.2 xcode 7.3

(1) 可以在编译时通过#if swift(>=x.y)来判断swift版本

#if swift(>=2.2)
  print(Hello!)
#elseif swift(1.0)
  println(Hello!)
#else
  This code will not parse or emit diagnostics
#endif

(2) ++、--运算符已经过时

使用x += 1来替代++运算符。

(3) #file #line #column #function

在Swift 3中__FILE__ __LINE__ __COLUMN__ __FUNCTION__将会被移除,请使用对应的#file #line #column #function

(4) Selector变量定义

使用字符串直接定义Selector变量的做法被标记为过时,取而代之的是#selector

// 过时
let sel: Selector = "insertSubview:aboveSubview:"
// 推荐
let sel = #selector(insertSubView(_:aboveSubview:))
// 也可以这样子
let sel = Selector("propertyName")