Swift 版本历史记录


翻译:成都老码团队翻译组-Arya
校对:成都老码团队翻译组-Oberyn

本页内容包括:

以下部分是针对XCode6每一次Beta版本直至正式版发布,Swift语法部分的更新归类

XCode6.4 Beta中Swift语法更新

注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是老码团队通过XCode6.4 Beta Release Note总结的更改说明:

发布日期 语法变更记录
2015-04-13
  • XCode6.4包含了对于构建和调试基于iOS8.4 App的支持

XCode6.3中Swift语法更新

注意:苹果此时发布了统一的版本XCode6.3,其中将以前的XCode6.3 Beta系列版本合并, 而XCode6.3共计发布了4次Beta版本,老码团队通过Release Note总结的详细更改说明请参看:Swift语法更新记录表格

发布日期 语法变更记录
2015-4-8
  • Swift现在自身提供了一个Set集合类型,更多信息,请看集合

  • @autoclosure现在是一个参数声明的属性,而不是参数类型的属性。这里还有一个新的参数声明属性@noescape。更多信息,请看属性声明

  • 对于类型属性和方法现在可以使用static关键字作为声明描述符,更多信息,请看类型变量属性

  • Swift现在包含一个as?as!的向下可失败类型转换运算符。更多信息,请看协议遵循性检查

  • 增加了一个新的指导章节,它是关于字符串索引

  • 溢出运算符中移除了溢出除运算符(&/)和求余溢出运算符(&%)

  • 更新了常量和常量属性在声明和构造时的规则,更多信息,请看常量声明

  • 更新了字符串字面量中Unicode标量集的定义,请看字符串字面量中的特殊字符

  • 更新了区间运算符章节来提示当半开区间运算符含有相同的起止索引时,其区间为空。

  • 更新了闭包引用类型章节来澄清对于变量的捕获规则

  • 更新了值溢出章节来澄清有符号整数和无符号整数的溢出行为

  • 更新了协议声明章节来澄清协议声明时的作用域和成员

  • 更新了捕获列表章节来澄清对于闭包捕获列表中的弱引用和无主引用的使用语法。

  • 更新了运算符章节来明确指明一些例子来说明自定义运算符所支持的特性,如数学运算符,各种符号,Unicode符号块等

XCode6.2正式版中Swift语法更新

注意:苹果此时发布了统一的版本XCode6.2,其中将以前的XCode6.2 Beta系列版本合并

发布日期 语法变更记录
2015-02-09
  • 在函数作用域中的常量声明时可以不被初始化,它必须在第一次使用前被赋值。更多的信息,请看常量声明

  • 在构造器中,常量属性有且仅能被赋值一次。更多信息,请看在构造过程中给常量属性赋值

  • 多个可选绑定现在可以在if语句后面以逗号分隔的赋值列表的方式出现,更多信息,请看可选绑定

  • 一个可选链表达式必须出现在后缀表达式中

  • 协议类型转换不再局限于@obj修饰的协议了

  • 在运行时可能会失败的类型转换可以使用as?as!运算符,而确保不会失败的类型转换现在使用as运算符。更多信息,请看类型转换运算符

XCode6.2 Beta3中Swift语法更新

注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是老码团队通过XCode6.2 Beta3 Release Note总结的更改说明:

发布日期 语法变更记录
2014-12-19
  • 在对Watch App做消息通知模拟调试时,第一个payload.apns文件将会被默认选择

  • 在为Watch App使用asset catalog时,38mm和42mm尺寸的图片就会被使用

  • 在做Watch App开发时,@IBAction属性支持WKInterfaceSwitchWKInterfaceSlider Swift类型了

  • 现在可以通过Device窗口安装,删除和访问App容器中的数据了。

XCode6.2 Beta2中Swift语法更新

注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是老码团队通过XCode6.2 Beta2 Release Note总结的更改说明:

发布日期 语法变更记录
2014-12-10
  • 现在在Interface Builder中可以针对特定的Device设备自定义Watch应用的Layout布局了

XCode6.2 Beta1中Swift语法更新

注意:苹果在这个版本发布后没有及时的更新Swift Programming Language文档,以下是老码团队通过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文档,以下是老码团队通过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系列版本合并

发布日期 语法变更记录
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文档,以下是老码团队通过XCode Beta7 Release Note总结的更改说明:

发布日期 语法变更记录
2014-09-03
  • 实现了内部库的修改和适配,主要包括如下: 1)大量内部类或者函数遵循Optional类型和协议 2)移除大部分函数返回类型隐式解封可选类型的使用

  • 对于泛型的类库函数或接口统一从T!更换为T?T,这样使得语法更加严谨,明确了可能返回为空和不为空的情况

  • 字符类型不能使用+运算法链接,可以以String(C1)+String(2) 的方式实现字符间链接

  • 重写了Sort函数,解决了栈溢出的问题

XCode6 Beta6中Swift语法更新

发布日期 语法变更记录
2014-08-18

XCode6 Beta5中Swift语法更新

发布日期 语法变更记录
2014-08-04

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版本