更新到Swift3.0后有些差異是需要我們重新了解的。
Swift 3改變可以分為兩個(gè)大的部分
移除在Swift 2.2中棄用的方法語(yǔ)言更加安全,優(yōu)雅1、Range Range在Swift3.0的初始化方式有所不同
var range:Range<Int> = Range(uncheckedBounds: (0,5))//結(jié)果通[0..<5]一致Range初始化方法需要我們傳入一個(gè)元祖,一個(gè)最小值和一個(gè)最大值
public init(uncheckedBounds bounds: (lower: Bound, upper: Bound))2、ClosedRange
var range:ClosedRange<Int> = ClosedRange(uncheckedBounds: (0,5))//結(jié)果通[0...5]一致3、replaceSubrange
//閉區(qū)間//method1var array2 = [2,1,2]array2.replaceSubrange(ClosedRange(uncheckedBounds:(0,1)), with: [1])//method2array2.replaceSubrange(CountableClosedRange(uncheckedBounds:(0,1)), with: [1])//開(kāi)區(qū)間//method3array2.replaceSubrange(Range(uncheckedBounds:(0,2)), with: [1])//method4array2.replaceSubrange(CountableRange(uncheckedBounds:(0,2)), with: [1])通過(guò)對(duì)比了解到method1和method2結(jié)果一致,method3和method4結(jié)果一致。
4、inout
//數(shù)據(jù)交換func swap( a:inout Int , b:inout Int){ let c = a a = b b = c}var x = 2,y = 3swap(&x, &y)新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注