Swift3语法修改

 

006zipb5zy79VWLK5HPb1&690

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 来达到消除目的。

 

转载于:https://my.oschina.net/u/2971691/blog/871573

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值