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