天天看点

Swift 版本历史记录(关注)

http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter1/03_revision_history.html

本页内容包括:

  • XCode6.2 Beta3 Swift语法文档更新
  • XCode6.2 Beta2 Swift语法文档更新
  • XCode6.2 Beta1 Swift语法文档更新
  • XCode6.1.1 Swift语法文档更新
  • XCode6.1 Swift语法文档更新
  • XCode6.1 Beta2 Swift语法文档更新
  • XCode6.1 Beta1 Swift语法文档更新
  • XCode6 Beta7 Swift语法文档更新
  • XCode6 Beta6 Swift语法文档更新
  • XCode6 Beta5 Swift语法文档更新
  • XCode6 Beta4 Swift语法文档更新
  • XCode6 Beta3 Swift语法文档更新
  • XCode6 Beta2 Swift语法文档更新
  • XCode6 Beta1 Swift语法文档更新
  • XCode6下载: 老码云盘下载

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

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属性支持WKInterfaceSwitch和WKInterfaceSlider 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-10
  • 增加了一个完整的关于失败构造器(Failable Initializers)的指南文档
  • 增加了一个关于协议的失败构造器需求(Failable Initializer Requirements)的描述
  • Any

    类型的常量或变量现在可以包含一个函数实例了。同时更新了

    Any

    章节的案例用来演示如何在swith语句中检查和转换一个函数类型。

XCode6.1 Beta2中Swift语法更新

注意:苹果此时发布了XCode6.0.1版本(也称为XCode6正式版),此版本用于iOS的开发,同时也发布子版本XCode6.1 Beta2,此版本为OSX开发做准备,以下所述的更改仅对XCode6.1 Beta2有效

发布日期 语法变更记录
2014-09-15
  • 带有原始值的枚举类型增加了一个

    rawValue

    属性替代

    toRaw()

    方法,同时使用了一个以

    rawValue

    为参数的失败构造器来替代

    fromRaw()

    方法。更多的信息,请看原始值(Raw Values)和带原始值的枚举类型(Enumerations with Cases of a Raw-Value Type)部分

XCode6.1 Beta1中Swift语法更新

注意:苹果此时发布了XCode6 GM版本,此版本用于iOS的开发,同时也发布子版本XCode6.1 Beta1,此版本为OSX开发做准备,以下所述的更改仅对XCode6.1 Beta1有效

发布日期 语法变更记录
2014-09-09
  • 增加了一个新的关于失败构造器(Failable Initializers)的参考章节,失败构造器可以触发失败的构造过程
  • 自定义运算符现在可以包含

    ?

    字符,更新的运算符(Operators)章节描述了改进后的规则,并且从自定义运算符(Custom Operators)章节删除了重复的运算符有效字符集合

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
  • 在章节协议中,增加新的小节:对构造器的规定(Initializer Requirements)
  • 在章节协议中,增加新的小节:类专属协议(class-only protocols)
  • 断言(assertions)现在可以使用字符串内插语法,并删除了文档中有冲突的注释
  • 更新了连接字符串和字符(Concatenating Strings and Characters)小节来说明一个事实,那就是字符串和字符不能再用

    +

    号运算符或者复合加法运算符

    +=

    相互连接,这两种运算符现在只能用于字符串之间相连。请使用

    String

    类型的

    append

    方法在一个字符串的尾部增加单个字符
  • 在声明特性(Declaration Attributes)章节增加了关于

    availability

    特性的一些信息

XCode6 Beta5中Swift语法更新

发布日期 语法变更记录
2014-08-04
  • 可选类型(Optionals) 若有值时,不再隐式的转换为 

    true

    ,同样,若无值时,也不再隐式的转换为 

    false

    , 这是为了避免在判别 optional 

    Bool

     的值时产生困惑。 替代的方案是,用

    ==

     或 

    !=

     运算符显式地去判断Optinal是否是 

    nil

    ,以确认其是否包含值。
  • Swift新增了一个 Nil合并运算符(Nil Coalescing Operator) (

    a ?? b

    ), 该表达式中,如果Optional 

    a

    的值存在,则取得它并返回,若Optional 

    a

    nil

    ,则返回默认值 

    b

  • 更新和扩展 字符串的比较(Comparing Strings) 章节,用以反映和展示'字符串和字符的比较',以及'前缀(prefix)/后缀(postfix)比较'都开始基于扩展字符集(extended grapheme clusters)规范的等价比较.
  • 现在,你可以通过 可选链(Optional Chaining)来:给属性设值,将其赋给一个下标脚注(subscript); 或调用一个变异(mutating)方法或运算符。对此,章节——通过可选链访问属性(Accessing Properties Through Optional Chaining)的内容已经被相应的更新。而章节——通过可选链调用方法(Calling Methods Through Optional Chaining中,关于检查方法调用是否成功的例子,已被扩展为展示如何检查一个属性是否被设值成功。 
  • 在章节可选链中,增加一个新的小节 访问可选类型的下标脚注(Accessing Subscripts of Optional Type)
  • 更新章节 访问和修改数组(Accessing and Modifying an Array) 以标示:从该版本起,不能再通过

    +=

     运算符给一个数组添加一个新的项。. 对应的替代方案是, 使

    append

     方法, 或者通过

    +=

    运算符来添加一个只有一个项的数组(single-item Array).
  • 添加了一个提示:在 范围运算符(Range Operators)中,比如, 

    a...b

     和 

    a..<b

    ,起始值

    a

    不能大于结束值

    b

    .
  • 重写了继承(Inheritance) 这一章:删除了本章中关于构造器重写的介绍性报道;转而将更多的注意力放到新增的部分——子类的新功能,以及如何通过重写(overrides)修改已有的功能。另外,小节 重写属性的Getters和Setters(Overriding Property Getters and Setters) 中的例子已经被替换为展示如何重写一个 

    description

     属性. (而关于如何在子类的构造器中修改继承属性的默认值的例子,已经被移到 构造过程(Initialization) 这一章.)
  • 更新了 构造器的继承与重写(Initializer Inheritance and Overriding) 小节以标示: 重写一个特定的构造器必须使用 

    override

     修饰符.
  • 更新 Required构造器(Required Initializers) 小节以标示:

    required

     修饰符现在需要出现在所有子类的required构造器的声明中, 而required构造器的实现,现在可以仅从父类自动继承。
  • 中置(Infix)的 运算符函数(Operator Functions) 不再需要

    @infix

     属性.
  • 前置和后置运算符(Prefix and Postfix Operators)的

    @prefix

     和 

    @postfix

     属性,已变更为 

    prefix

     和 

    postfix

     声明修饰符(declaration modifiers).
  • 增加一条注解:当Prefix和postfix运算符被作用于同一个操作数时,关于前置和后置运算符(Prefix and Postfix Operators)的顺序(postfix运算符会先被执行)
  • 在运算符函数(Operator functions)中, 组合赋值运算符(Compound Assignment Operators) 不再使用 

    @assignment

     属性来定义函数.
  • 在这个版本中,在定义自定义操作符(Custom Operators) 时,修饰符(Modifiers)的出现顺序发生变化。比如, 现在,你该编写 

    prefix operator

    , 而不是 

    operator prefix

    .
  • 增加信息:关于

    dynamic

     声明修饰符(declaration modifier),于章节 声明修饰符(Declaration Modifiers).
  • 增加信息:字面量Literals 的类型推导(type inference)
  • 为章节Curried Functions添加了更多的信息.

XCode6 Beta4中Swift语法更新

发布日期 语法变更记录
2014-07-21
  • 加入新的章节 <a href=https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html#//apple_ref/doc/uid/TP40014097-CH41-XID_29">权限控制(Access Control).
  • 更新了章节 字符串和字符(Strings and Characters) 用以表明,在Swift中,

    Character

     类型现在代表的是扩展字符集(extended grapheme cluster)中的一个Unicode,为此,新增了小节 Extended Grapheme Clusters 。同时,为小节 Unicode标量(Unicode Scalars) 和 字符串比较(Comparing Strings)增加了更多内容.
  • 更新章节字符串字面量(String Literals):在一个字符串中,Unicode标量(Unicode scalars) 以 

    \u{n}

    的形式来表示, 

    n

     是一个最大可以有8位的16进制数(hexadecimal digits)
  • NSString

    length

     属性已被映射到Swift的内建 

    String

    类型。(注意,这两属性的类型是

    utf16<color="red" style="box-sizing: border-box; -webkit-font-smoothing: antialiased;">Count

    ,而非 

    utf16count

    ).
  • Swift的内建 

    String

     类型不再拥有 

    uppercaseString

     和 

    lowercaseString

     属性.其对应部分在章节 字符串和字符(Strings and Characters)已经被删除, 并且各种对应的代码用例也已被更新.
  • 加入新的章节  没有外部名的构造器参数(Initializer Parameters Without External Names).
  • 加入新的章节  Required构造器(Required Initializers).
  • 加入新的章节 可选元祖(函数)返回类型 (Optional Tuple Return Types).
  • 更新章节 类型标注(Type Annotations) :多个相关变量可以用“类型标注”(type annotaion)在同一行中声明为同一类型。
  • @optional

    @lazy

    @final

    ,  

    @required

     等关键字被更新为 

    optional

    lazy

    final

    required

     参见声明修饰符(Declaration Modifiers).
  • 更新整本书 —— 引用 

    ..<

     作为区间运算符(Half-Open Range Operator) (取代原先的

    ..

     ).
  • 更新了小节 读取和修改字典(Accessing and Modifying a Dictionary):  

    Dictionary

     现在早呢更加了一个 Boolean型的属性: 

    isEmpty

  • 解释了哪些字符(集)可被用来定义自定义操作符 (Custom Operators)
  • nil

     和布尔运算中的 

    true

     和 

    false

     现在被定义为字面量Literals.

XCode6 Beta3中Swift语法更新

发布日期 语法变更记录
2014-07-7
  • Swift 中的数组 (

    Array

    ) 类型从现在起具备了完整的值语义。具体信息被更新到 集合的可变性(Mutability of Collections) 和 数组(Arrays) 两小节,以反映这个新的变化. 此外,还解释了如何 给Strings, Arrays和Dictionaries进行赋值和拷贝 (Assignment and Copy Behavior for Strings, Arrays, and Dictionaries).
  • 数组类型速记语法(Array Type Shorthand Syntax) 从 

    SomeType[]

    .更新为

    [SomeType]

  • 加入新的小节:字典类型的速记语法(Dictionary Type Shorthand Syntax).: 

    [KeyType: ValueType]

    .
  • 加入新的小节:字典键类型的哈希值(Hash Values for Dictionary Key Types).
  • 例子 闭包表达式 (Closure Expressions) 中使用新的全局函数 

    sorted

     取代原先的全局函数 

    sort

     去展示如何返回一个全新的数组.
  • 更新关于 结构体逐一成员构造器 (Memberwise Initializers for Structure Types) 的描述:即使结构体的成员没有默认值,逐一成员构造器也可以自动获得。
  • 区间运算符(Half-Open Range Operator)由

    ..

    更新到

    ..<

  • 添加一个例子 扩展一个泛型(Extending a Generic Type)

XCode6 Beta2中Swift语法更新

发布日期 语法变更记录
2014-07-7
  • 发布新的文档用以详述Swift - 苹果公司针对iOS和OS X应用的全新开发语言

XCode6 Beta1中Swift语法更新

发布日期 语法变更记录
2014-06-3
  • 苹果全球开发者大会WWDC2014召开,发布了苹果最新的开发语言Swift,并释放出XCode6 Beta1版本

转载于:https://www.cnblogs.com/yangmx/p/4232349.html