Swift 2.x -> Swift 3.0

Swift 3.0 相对于 2.x 有很大变化。特别是因为命名习惯的改变,导致许多 Api 都发生了变化。总的趋势是让表示更简洁。

对旧的代码升级,大部分可以根据提示来进行更正。但也有的需要手动修改。

比如:

Swift 2.x:

UIColor->blueColor()

Swift 3.0:

UIColor->blue

Swift 2.x:

if () where ()

Swift 3.0:

if (), ()

Swift 2.x:

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px }
span.s1 { color: #000000 }
span.s2 { }
span.s3 { color: #bb2ca2 }
span.s4 { color: #703daa }
span.s5 { color: #4f8187 }
span.s6 { color: #272ad8 }

// MARK: UITableViewDataSource

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

return data?.count ?? 0

}

Swift 3.0:

// MARK: UITableViewDataSource

override func numberOfSections(in tableView: UITableView) -> Int {

return data?.count ?? 0

}

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa }
span.s1 { }
span.s2 { color: #000000 }

CGPointZero -> CGPoint.zero

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa }
span.s1 { }

SequenceType -> Sequence

CKErrorCode -> CKError

封闭就是任性!想怎么改就怎么改。开始说写的越详细越易读,结果搞得太过了。现在开始精简了。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa }
span.s1 { }

上一篇:关于 Swift 2.0 - 语言新特性与革新


下一篇:【题解】 bzoj3693: 圆桌会议 (线段树+霍尔定理)