API更改
1. 字符串 (String)
1.1 本次更改消除了在String对象的String数组上迭代的问题,可以直接对String对象进行迭代

String迭代比较图
1.2 String具有Sequence和Collection的特性

1.3 Swift4添加了subString类型,用于引用String上的子序列

2. 字典和集合
基于序列的初始化,通过一个zip元组创建一个字典的能力

2.1 字典默认值
先给字典默认值,然后改变value的值

2.2 字典分组

3. 私有访问修饰符
swift 3含有一个fileprivate关键字,但是一些人不太喜欢,swift修改private的使用,使private修饰的变量在扩展extension中可以访问
4.新增API
1.归档和序列化

2. 键值编码

keyPath

Demo
3.多行字符串文字

多行字符串的使用
多行字符串在构建XML/JSON消息过构建长格式的文本在UI中显示
4.开区间

4.2 模式匹配

4.3 通用下标

5. 更多的更新
MutableCollection中的swapAt

6.NSNumber桥接
let n = NSNumber(value: 999)
let v = n as? UInt8 // Swift 4: nil Swift 3: 231
