Swift 3已经实现的变动提案,粗略翻译一下,自己顺便也了解记录,原文地址:https://apple.github.io/swift-evolution/
- SE-0002 去掉函数柯里化的声明语法
- SE-0003 去掉了函数参数中的var关键字
- SE-0004 去掉了++和–操作符
- SE-0005 Objective-C的API更符合Swift风格
- SE-0006 Swift的标准库中应用了API指南
- SE-0007 移除C语言形式的for循环语法
- SE-0008 为可选序列增加了lazy flatMap
- SE-0016 增加由非安全指针和非安全可变指针转化为Int和UInt类型的构造器
- SE-0017 改
Unmanaged
为用UnsafePointer
- SE-0019 Swift测试
- SE-0023 API设计指南
- SE-0028 更加新式的Debug标识符(如__FILE__)
- SE-0029 移除了函数传参过程中,隐式的元组自展开行为
- SE-0031 调整了inout关键字对类型修饰的定义
- SE-0032 为序列这种类型统一加了一个
first(where:)
方法 - SE-0033 引入Objective-C常量做为Swift的类型
- SE-0034 消除了Debug标识符中行控制语句的歧义
- SE-0035 限制了
inout
对@noescape
修饰的上下文的捕获 - SE-0036 枚举实例成员的实现必须有前导点号
- SE-0037 明晰了注释和操作符的界限(除号与乘号)
- SE-0039 更加新式的Playground字面量
- SE-0040 在属性参数中使用冒号代替等号
- SE-0043 可以在
case
标签里使用多种模式定义变量 - SE-0044 现在可以把C的API做为Swift类型成员引入
- SE-0046 为包括第一个函数参数的所有参数设定一致的标签行为
- SE-0047 默认非空返回的函数给出没有使用结果的警告
- SE-0048 可以使用泛型类型别名
- SE-0052 改变了迭代类型
post-nil
保证 - SE-0053 去掉了函数参数中显式使用
let
的用法 - SE-0054 废除了
ImplicitlyUnwrappedOptional
类型 - SE-0055 显式使用可选值语法使非安全指针为null
- SE-0057 引用Objective-C轻量泛型
- SE-0060 强制默认参数顺序
- SE-0061 加入了对autoreleasepool()的错误处理和泛型结果
- SE-0062 引入了Objective-C中的key-paths
- SE-0063 为Swift包管理加入系统模块搜索路径
- SE-0064 引入了Objective-C的getter和setter属性的选择器
- SE-0065 新的集合与索引的模型
- SE-0066 标准化了函数参数类型需要小括号的语法
- SE-0067 增强浮点数的协议
- SE-0069 Mutability和Foundation值类型
- SE-0070 Make Optional Requirements Objective-C-only
- SE-0071 允许大部分的保留字在成员里使用
- SE-0072 完全消除转换成Swift类型的歧义
- SE-0076 为
UnsafeMutablePointer
类型增加了一个重写的方法,作用接收一个UnsafePointer
,将其转换为不析构的副本 - SE-0085 可以从命令行调用Swift包管理器
- SE-0086 在Swift的Foundation类型中移除了NS前缀
- SE-0091 在协议中提高了对运算符的要求
- SE-0093 专门为索引增加了一个公有的
base
属性 - SE-0094 在标准库中加入
sequence(first:next:)
和sequence(state:next:)
方法 - SE-0095 使用
P1 & P2
的语法代替原来的protocol<P1,P2>
语法 - SE-0106 在OSX平台配置测试加入了
macOS
别名 - SE-0109 移除了
Boolean
协议 - SE-0112 增加了
NSError
的转换 - SE-0113 为浮点类型增加了整数舍入的功能
- SE-0114 修改Buffer类型的”Value”的名字为”Header”的
- SE-0115 重命名字面量语法的协议
- SE-0118 修改了闭包的参数名称及参数标签
- SE-0124
Int.init(ObjectIdentifier)
和UInt.init(ObjectIdentifier)
方法现在需要一个bitPattern:
标签