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 后缀(reversed、enumerated)
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. CGRect、CGPoint、CGSize
过去的 CGRectMake、CGPointMake、CGSizeMake 已废弃。现改用 CGRect、CGPoint、CGSize 代替。
//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 来达到消除目的。
- Swift3语法修改
- swift3 基础语法(mutating)
- iOS-Swift3常用语法
- Swift3.0语法变化
- Swift3 基础语法
- swift3 语法摘要
- Swift3-基础语法
- Swift3 基本语法
- Swift3.0 语法总结
- swift3.0语法变化
- swift3.0 语法
- swift3.0下闭包语法汇总
- Swift3.0基本语法02
- Swift3.0基本语法01
- Swift3.0基本语法02
- swift3.0的一些修改
- Swift3.0语法--字符串和字符
- Swift3.0教程(一)-基本的语法
- Swift
- JAVA 类初始化顺序
- 蓝桥杯 入门训练之Fibonacci数列
- 求两个数的商和余数 抛出异常
- iOS中的单例模式,单例模式的优缺点,swift单例的使用
- Swift3语法修改
- 设计模式(装饰者模式)
- Java写文件乱码问题
- 读《统计自然语言处理》——预备知识☞概率论和信息论基础
- android布局--Android fill_parent、wrap_content和match_parent的区别
- OCLint安装与使用
- Java自然排序
- Android仿微信下拉
- soapUI-Pro-1.7.6(破解版)