diff --git a/source/chapter1/03_revision_history.md b/source/chapter1/03_revision_history.md
index cb7781c0..00a796fe 100644
--- a/source/chapter1/03_revision_history.md
+++ b/source/chapter1/03_revision_history.md
@@ -1,37 +1,44 @@
-# Swift 版本历史记录
+# Swift 文档修订历史
---
+> 1.0
> 翻译:[成都老码团队翻译组-Arya](http://weibo.com/littlekok/)
> 校对:[成都老码团队翻译组-Oberyn](http://weibo.com/u/5241713117)
+[changkun](http://changkun.us/about/)
+>
+> 1.1
+> 翻译:[成都老码团队翻译组-Arya](http://weibo.com/littlekok/)
+> 校对:[成都老码团队翻译组-Oberyn](http://weibo.com/u/5241713117)
+[changkun](http://changkun.us/about/)
+>
+> 1.2
+> 翻译:[成都老码团队翻译组-Arya](http://weibo.com/littlekok/)
+> 校对:[成都老码团队翻译组-Oberyn](http://weibo.com/u/5241713117)
+[changkun](http://changkun.us/about/)
+>
+> 2.0
+> 翻译+校对:[changkun](http://changkun.us/about/)
+>
+> 2.1
+> 翻译+校对:[changkun](http://changkun.us/about/)
+>
+> 2.2
+> 翻译+校对:[changkun](http://changkun.us/about/)
+
+本页面根据 [Document Revision History](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/RevisionHistory.html) 进行适配更新。
本页内容包括:
-- [XCode6.4 Beta Swift语法文档更新](#xcode6_4_Beta)
-- [XCode6.3正式版 Swift语法文档更新](#xcode6_3)
-- [XCode6.2正式版 Swift语法文档更新](#xcode6_2)
-- [XCode6.2 Beta3 Swift语法文档更新](#xcode6_2_Beta3)
-- [XCode6.2 Beta2 Swift语法文档更新](#xcode6_2_Beta2)
-- [XCode6.2 Beta1 Swift语法文档更新](#xcode6_2_Beta1)
-- [XCode6.1.1正式版 Swift语法文档更新](#xcode6_1_1)
-- [XCode6.1 Swift语法文档更新](#xcode6_1)
-- [XCode6.1 Beta2 Swift语法文档更新](#xcode6_1_Beta2)
-- [XCode6.1 Beta1 Swift语法文档更新](#xcode6_1_Beta1)
-- [XCode6 Beta7 Swift语法文档更新](#xcode6_beta7)
-- [XCode6 Beta6 Swift语法文档更新](#xcode6_beta6)
-- [XCode6 Beta5 Swift语法文档更新](#xcode6_beta5)
-- [XCode6 Beta4 Swift语法文档更新](#xcode6_beta4)
-- [XCode6 Beta3 Swift语法文档更新](#xcode6_beta3)
-- [XCode6 Beta2 Swift语法文档更新](#xcode6_beta2)
-- [XCode6 Beta1 Swift语法文档更新](#xcode6_beta1)
-- XCode6下载: [老码云盘下载](http://pan.baidu.com/disk/home#from=share_pan_logo&path=%252F%25E8%2580%2581%25E7%25A0%2581%25E4%25BA%2591%25E7%259B%2598-XCode6%252FXCode6-Beta5)
+- [Swift 2.2 更新](#swift_2_2)
+- [Swift 2.1 更新](#swift_2_1)
+- [Swift 2.0 更新](#swift_2_0)
+- [Swift 1.2 更新](#swift_1_2)
+- [Swift 1.1 更新](#swift_1_1)
+- [Swift 1.0 更新](#swift_1_0)
-以下部分是针对XCode6每一次Beta版本直至正式版发布,Swift语法部分的更新归类
-
-
-### XCode6.4 Beta中Swift语法更新
-
-***注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是[老码团队](http://weibo.com/u/5241713117)通过XCode6.4 Beta Release Note总结的更改说明:***
+
+### Swift 2.2 更新
@@ -42,10 +49,55 @@
- | 2015-04-13 |
+ 2016-03-21 |
-
- XCode6.4包含了对于构建和调试基于iOS8.4 App的支持
+ 更新至 Swift 2.2。
+
+ -
+ 增加了编译配置语句一节中关于如何根据 Swift 版本进行条件编译。
+
+ -
+ 增加了显示成员表达式一节中关于如何区分只有参数名不同的方法和构造器的信息。
+
+ -
+ 增加了选择器表达式一节中针对 Objective-C 选择器的
#selector 语法。
+
+ -
+ 更新了关联类型和协议关联类型声明,使用
associatedtype 关键词修改了对于关联类型的讨论。
+
+ -
+ 更新了可失败构造器一节中关于当构造器在实例完全初始化之前返回
nil的相关信息。
+
+ -
+ 增加了比较运算符一节中关于比较元组的信息。
+
+ -
+ 增加了关键字和标点符号一节中关于使用关键字作为外部参数名的信息。
+
+ -
+ 增加了声明特性一节中关于
@objc特性的讨论,并指出枚举(Enumeration)和枚举用例(Enumaration Case)。
+
+ -
+ 增加了操作符一节中对于自定义运算符的讨论包含了
.。
+
+ -
+ 增加了重新抛出错误的函数和方法一节中关于重新抛出错误函数不能直接抛出错误的笔记。
+
+ -
+ 增加了属性观察器一节中关于当作为 in-out 参数传递属性时,属性观察器的调用行为。
+
+ -
+ 增加了Swift 初见一节中关于错误处理的内容。
+
+ -
+ 更新了弱引用一节中的图片用以更清楚的展示重新分配过程。
+
+ -
+ 删除了 C 语言风格的
for 循环,++ 前缀和后缀运算符,以及-- 前缀和后缀运算符。
+
+ -
+ 删除了对变量函数参数和柯里化函数的特殊语法的讨论。
|
@@ -53,9 +105,195 @@
+
+### Swift 2.1 更新
+
+
+
+
+ | 发布日期 |
+ 语法变更记录 |
+
+
+
+
+ | 2015-10-20 |
+
+ |
+
+
+
+
+
+### Swift 2.0 更新
+
+
+
+
+ | 发布日期 |
+ 语法变更记录 |
+
+
+
+
+ | 2015-09-16 |
+
+ -
+ 更新至 Swift 2.0。
+
+ -
+ 增加了对于错误处理相关内容,包括 错误处理一章、Do 语句、Throw 语句、Defer 语句以及try 运算符 的多个小节。
+
+ -
+ 更新了表示并抛出错误一节,现在所有类型均可遵循
ErrorType 协议。
+
+ -
+ 增加了将错误转换成可选值一节
try? 关键字的相关信息。
+
+ -
+ 增加了枚举一章的递归枚举一节和声明一章的任意类型用例的枚举一节中关于递归枚举的内容。
+
+ -
+ 增加了控制流一章中a href="https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ControlFlow.html#//apple_ref/doc/uid/TP40014097-CH9-ID523">检查 API 可用性一节和语句一章中可用性条件一节中关于 API 可用性检查的内容。
+
+
+ -
+ 增加了控制流一章的早期退出一节和语句一章的guard语句中关于新
guard 语句的内容。
+
+ -
+ 增加了协议一章中协议扩展一节中关于协议扩展的内容。
+
+ -
+ 增加了访问控制一章中单元测试 target 的访问级别一节中关于单元测试的访问控制相关的内容。
+
+ -
+ 增加了模式一章中可选模式一节中的新可选模式。
+
+ -
+ 更新了 Repeat-While 一节中关于
repeat-while循环的信息。
+
+ -
+ 更新了字符串和字符一章,现在
String在 Swift 标准库中不再遵循CollectionType协议。
+
+ -
+ 增加了打印常量和变量一节中关于新 Swift 标准库中关于
print(_:separator:terminator) 的信息。
+
+ -
+ 增加了枚举一章中原始值的隐式赋值一节和声明一章的包含原始值类型的枚举一节中关于包含
String原始值的枚举用例的行为。
+
+ -
+ 增加了自闭包一节中关于
@autoclosure特性的相关信息,包括它的@autoclosure(escaping)形式。
+
+ -
+ 更新了声明特性一节中关于
@avaliable和warn_unused_result特性的相关内容。
+
+ -
+ 更新了类型特性一节中关于
@convention特性的相关信息。
+
+ -
+ 增加了可选绑定一节中关于使用
where子句进行多可选绑定的内容。
+
+ -
+ 增加了字符串字面量一节中关于在编译时使用
+ 运算符凭借字符串字面量的相关信息。
+
+ -
+ 增加了元类型一节中关于元类型值的比较和使用它们通过构造器表达式构造实例。
+
+ -
+ 增加了断言调试一节中关于用户定义断言是被警用的相关内容。
+
+ -
+ 更新了声明特性一节中,对
@NSManaged特性的讨论,现在这个特性可以被应用到一个确定实例方法。
+
+ -
+ 更新了可变参数一节,现在可变参数可以声明在函数参数列表的任意位置中。
+
+ -
+ 增加了重写可失败构造器一节中,关于非可失败构造器相当于一个可失败构造器通过父类构造器的结果进行强制拆包的相关内容。
+
+ -
+ 增加了任意类型用例的枚举一节中关于枚举用例作为函数的内容。
+
+ -
+ 增加了构造器表达式一节中关于显式引用一个构造器的内容。
+
+ -
+ 更新了编译控制语句一节中关于编译信息以及行控制语句的相关信息。
+
+ -
+ 更新了元类型一节中关于如何从元类型值中构造类实例。
+
+ -
+ 更新了弱引用一节中关于弱引用作为缓存的显存的不足。
+
+ -
+ 更新了类型特性一节,提到了存储型特性其实是懒加载。
+
+ -
+ 更新了捕获类型一节,阐明了变量和常量在闭包中如何被捕获。
+
+ -
+ 更新了声明特性一节用以描述如何在类中使用
@objc关键字。
+
+ -
+ 增加了错误处理一节中关于执行
throw语句的性能的讨论。增加了 Do 语句一节中相似的信息。
+
+ -
+ 更新了类型特性一节中关于类、结构体和枚举的存储型和计算型特性的信息。
+
+ -
+ 更新了Break 语句一节中关于带标签的 break 语句。
+
+ -
+ 更新了属性观察器一节,阐明了
willSet和didSet观察器的行为。
+
+ -
+ 增加了访问级一节中关于
private作用域访问的相关信息。
+
+ -
+ 增加了弱引用一节中关于若应用在垃圾回收系统和 ARC 之间的区别。
+
+ -
+ 更新了字符串字面量中特殊字符一节中对 Unicode 标量更精确的定义。
+
+
+ |
+
+
+
+
+
+
+### Swift 1.2 更新
-### XCode6.3中Swift语法更新
-***注意:苹果此时发布了统一的版本XCode6.3,其中将以前的XCode6.3 Beta系列版本合并, 而XCode6.3共计发布了4次Beta版本,[老码团队](http://weibo.com/u/5241713117)通过Release Note总结的详细更改说明请参看:[Swift语法更新记录表格](https://docs.baihui.com/sheet/published.do?rid=mxpis6d36a8b7bc254c36ae2a808c64c2361e)***
@@ -68,6 +306,9 @@
| 2015-4-8 |
+ -
+ 更新至 Swift 1.2。
+
-
Swift现在自身提供了一个
Set集合类型,更多信息请看集合
@@ -85,7 +326,7 @@
增加了一个新的指导章节,它是关于字符串索引的
-
- 从溢出运算符中移除了溢出除运算符和求余溢出运算符
+ 从溢出运算符中移除了溢出除运算符(&/)和求余溢出运算符(&%)。
-
更新了常量和常量属性在声明和构造时的规则,更多信息,请看常量声明
@@ -111,29 +352,7 @@
-
更新了运算符章节来明确指明一些例子来说明自定义运算符所支持的特性,如数学运算符,各种符号,Unicode符号块等
-
- |
-
-
-
-
-
-### XCode6.2正式版中Swift语法更新
-
-***注意:苹果此时发布了统一的版本XCode6.2,其中将以前的XCode6.2 Beta系列版本合并***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2015-02-09 |
-
- -
+
-
在函数作用域中的常量声明时可以不被初始化,它必须在第一次使用前被赋值。更多的信息,请看常量声明
-
@@ -157,139 +376,9 @@
|
-
-### XCode6.2 Beta3中Swift语法更新
-***注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是[老码团队](http://weibo.com/u/5241713117)通过XCode6.2 Beta3 Release Note总结的更改说明:***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-12-19 |
-
-
- -
- 在对Watch App做消息通知模拟调试时,第一个payload.apns文件将会被默认选择
-
- -
- 在为Watch App使用asset catalog时,38mm和42mm尺寸的图片就会被使用
-
- -
- 在做Watch App开发时,
@IBAction属性支持WKInterfaceSwitch和WKInterfaceSlider Swift类型了
-
- -
- 现在可以通过Device窗口安装,删除和访问App容器中的数据了。
-
-
- |
-
-
-
-
-
-### XCode6.2 Beta2中Swift语法更新
-
-***注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是[老码团队](http://weibo.com/u/5241713117)通过XCode6.2 Beta2 Release Note总结的更改说明:***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-12-10 |
-
- -
- 现在在Interface Builder中可以针对特定的Device设备自定义Watch应用的Layout布局了
-
-
- |
-
-
-
-
-
-### XCode6.2 Beta1中Swift语法更新
-
-***注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是[老码团队](http://weibo.com/u/5241713117)通过XCode6.2 Beta1 Release Note总结的更改说明:***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-11-28 |
-
- -
- XCode6.2包含了iOS8.2 SDK,该SDK中包含WatchKit用来开发Apple Watch应用。
-
- -
- 在工具集中增加了对WatchKit的支持:
- 1)UI设计工具增加了Apple Watch应用的界面组件,通知和小部件。
- 2)增加了调试和性能统计功能
- 3)增加Apple Watch应用的模拟器帮助调试应用功能
-
- -
- 为了使Apple Watch应用能够正常工作,一些具体的参数必须设置:
- 1)WatchKit中扩展配置文件Info.plist中的
NSExtensionAttributes配置项WKAppBundleIdentifier必须和WatchKit App中的通用配置文件中的属性CFBundleIdentifier项目保持一致。2)WatchKit中的CFBundleIdentifier配置项必须和WKCompanionAppBundleIdentifier中的配置项保持一致
-
-
- |
-
-
-
-
-
-### XCode6.1.1中Swift语法更新
-
-***注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是[老码团队](http://weibo.com/u/5241713117)通过XCode6.1.1 Release Note总结的更改说明:***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-12-2 |
-
- -
- 在SourceKit中一些导致Crash的常见问题被修复,比如名字冲突和遗留废弃数据的问题等。
-
- -
- 把纯正的Swift类对象实例赋值给AnyObject量不会再Crash了。
-
- -
- 在泛型使用场景下,遵循了协议类要求的构造器方法或者类型方法可以直接调用继承类中的方法了。
-
- -
- 修正了InterfaceBuild中如果图片名字含有“/”时,会在OSX10.10上Crash或者无法打开的问题
-
-
- |
-
-
-
-
-
-### XCode6.1中Swift语法更新
-
-***注意:苹果此时发布了统一的版本XCode6.1,其中将以前的XCode6.0.1和XCode6.1 Beta系列版本合并***
+
+### Swift 1.1 更新
@@ -303,112 +392,32 @@
| 2014-10-16 |
- |
-
-
-
-
-
-### XCode6.1 Beta2中Swift语法更新
-
-***注意:苹果此时发布了XCode6.0.1版本(也称为XCode6正式版),此版本用于iOS的开发,同时也发布子版本XCode6.1 Beta2,此版本为OSX开发做准备,以下所述的更改仅对XCode6.1 Beta2有效***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-09-15 |
-
- |
-
-
-
-
-
-### XCode6.1 Beta1中Swift语法更新
-
-***注意:苹果此时发布了XCode6 GM版本,此版本用于iOS的开发,同时也发布子版本XCode6.1 Beta1,此版本为OSX开发做准备,以下所述的更改仅对XCode6.1 Beta1有效***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-09-09 |
-
|
-
-### XCode6 Beta7中Swift语法更新
-
-***注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是[老码团队](http://weibo.com/u/5241713117)通过XCode Beta7 Release Note总结的更改说明:***
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-09-03 |
-
- -
- 实现了内部库的修改和适配,主要包括如下:
- 1)大量内部类或者函数遵循Optional类型和协议
- 2)移除大部分函数返回类型隐式解封可选类型的使用
-
-
- -
- 对于泛型的类库函数或接口统一从
T!更换为T?或T,这样使得语法更加严谨,明确了可能返回为空和不为空的情况
-
- -
- 字符类型不能使用+运算法链接,可以以
String(C1)+String(2) 的方式实现字符间链接
-
- -
- 重写了
Sort函数,解决了栈溢出的问题
-
-
- |
-
-
-
-
-
-### XCode6 Beta6中Swift语法更新
+
+### Swift 1.0 更新
@@ -421,6 +430,9 @@
| 2014-08-18 |
- |
-
-
-
-
-
-### XCode6 Beta5中Swift语法更新
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-08-04 |
-
-
可选类型(Optionals) 若有值时,不再隐式的转换为
true,同样,若无值时,也不再隐式的转换为 false, 这是为了避免在判别 optional Bool 的值时产生困惑。 替代的方案是,用== 或 != 运算符显式地去判断Optinal是否是 nil,以确认其是否包含值。
@@ -510,26 +502,6 @@
-
为章节Curried Functions添加了更多的信息.
-
- |
-
-
-
-
-
-#### XCode6 Beta4中Swift语法更新
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-07-21 |
-
- |
-
-
-
-
-
-#### XCode6 Beta3中Swift语法更新
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-07-7 |
-
- |
-
-
-
-
-
-#### XCode6 Beta2中Swift语法更新
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-07-7 |
-
- -
- 发布新的文档用以详述Swift - 苹果公司针对iOS和OS X应用的全新开发语言
-
-
- |
-
-
-
-
-
-#### XCode6 Beta1中Swift语法更新
-
-
-
-
- | 发布日期 |
- 语法变更记录 |
-
-
-
-
- | 2014-06-3 |
-
- -
- 苹果全球开发者大会WWDC2014召开,发布了苹果最新的开发语言Swift,并释放出XCode6 Beta1版本
-
|