Swift3语法修改

来源:互联网 发布:淘宝买家退货发空包裹 编辑:程序博客网 时间:2024/06/07 03:13

Swift3中,对语法的使用也进行了修改,下面我们就来看一下在swift3中对哪些语法进行修改。

1.数组排序方法

过去数组排序的两个方法sortInPlace()  sort()现在分别改名成 sort()  sorted()
sort() 
是直接对目标数组进行排序sorted() 是返回一个排序后的数组原数组不变

var array1 = [1, 5, 3, 2, 4]

array1.sort()

print(array1)  //[1, 2, 3, 4, 5]

var array2 = [1, 5, 3, 2, 4]

let sortedArray = array2.sorted()

print(array2)  //[1, 5, 3, 2, 4]

2.数组反转方法

过去 reverse() 方法实现数组反转enumerate() 方法实现遍历这两个方法都加上 ed 后缀reversedenumerated

for i in (1...10).reversed() {

    print(i)

}

let array = [1, 5, 3, 2, 4]

for (index, value) in array.enumerated() {

    print("\(index + 1) \(value)")

}

3. CGRectCGPointCGSize

过去的 CGRectMakeCGPointMakeCGSizeMake 已废弃现改用 CGRectCGPointCGSize 代替

//Swift 2

let frame = CGRectMake(0, 0, 20, 20)

let point = CGPointMake(0, 0)

let size = CGSizeMake(20, 20)

 

//Swift 3

let frame = CGRect(x: 0, y: 0, width: 20, height: 20)

let point = CGPoint(x: 0, y: 0)

let size = CGSize(width: 20, height: 20)

4.枚举成员名修改

Swift 3 将枚举成员当做属性来看所以现在使用小写字母开头而不是以前的大写字母

.system //过去是:.System

.touchUpInside //过去是:.TouchUpInside

.fillStroke //过去是:.FillStroke

.cgColor //过去是:.CGColor

5.API名称简化

移除了API中多余的单词

button.setTitle(forState) 改为 button.setTitle(for)
button.addTarget(action, forControlEvents)
 改为 button.addTarget(action, for)

arr.minElement() 改为 arr.min()

names.insert("Jane", atIndex: 0) 改为 names.insert("Jane", at: 0)

NSBundle.mainBundle() 改为 Bundle.main

NSData(contentsOfURL) 改为 Data(contentsOf)

6. @discardableResult

 Swift3 如果一个方法有返回值而调用的时候没有接收该方法的返回值Xcode 会报出警告告诉你这可能会存在潜在问题

除了可以通过接收返回值消除警告还可以通过给方法声明 @discardableResult 来达到消除目的


0 0