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 { }