天天看點

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