這里的教程為Swift官方教程中文版。

Swift 文檔修訂歷史


1.0 翻譯:成都老碼團(tuán)隊(duì)翻譯組-Arya 校對(duì):成都老碼團(tuán)隊(duì)翻譯組-Oberyn changkun

1.1 翻譯:成都老碼團(tuán)隊(duì)翻譯組-Arya 校對(duì):成都老碼團(tuán)隊(duì)翻譯組-Oberyn changkun

1.2 翻譯:成都老碼團(tuán)隊(duì)翻譯組-Arya 校對(duì):成都老碼團(tuán)隊(duì)翻譯組-Oberyn changkun

2.0 翻譯+校對(duì):changkun

2.1 翻譯+校對(duì):changkun

2.2 翻譯+校對(duì):changkun

3.0 翻譯+校對(duì):shanks,2016-10-06

3.0.1 翻譯+校對(duì):shanks,2016-11-10

本頁面根據(jù) Document Revision History 進(jìn)行適配更新。

本頁內(nèi)容包括:

Swift 3.1 更新

發(fā)布日期 語法變更記錄
2016-10-27

Swift 3.0 更新

發(fā)布日期 語法變更記錄
2016-09-13
  • 更新至 Swift 3.0。
  • 更新函數(shù)章節(jié)中關(guān)于函數(shù)的討論,在函數(shù)定義一節(jié)中,標(biāo)明所有函數(shù)參數(shù)默認(rèn)都有函數(shù)標(biāo)簽。
  • 更新高級(jí)操作符章節(jié)中關(guān)于操作符的討論,現(xiàn)在你可以作為類型函數(shù)來實(shí)現(xiàn),替代之前的全局函數(shù)實(shí)現(xiàn)方式。
  • 增加訪問控制章節(jié)中關(guān)于對(duì)新的訪問級(jí)別描述符openfileprivate的信息
  • 更新函數(shù)定義一節(jié)中關(guān)于inout的討論,標(biāo)明它放在參數(shù)類型的前面,替代之前放在參數(shù)名稱前面的方式。
  • 更新逃逸閉包自動(dòng)閉包還有屬性章節(jié)中關(guān)于@noescape@autoclosure的討論,現(xiàn)在他們是類型屬性,而不是定義屬性。
  • 增加高級(jí)操作符章節(jié)中自定義中綴操作符的優(yōu)先級(jí)一節(jié)和定義章節(jié)中優(yōu)先級(jí)組聲明一節(jié)中關(guān)于操作符優(yōu)先級(jí)組的信息。
  • 更新一些討論:使用 macOS 替換掉 OS X, Error 替換掉 ErrorProtocol,和更新一些協(xié)議名稱,比如使用 ExpressibleByStringLiteral 替換掉 StringLiteralConvertible。
  • 更新泛型章節(jié)中泛型 Where 語句一節(jié)和泛型形參和實(shí)參章節(jié),現(xiàn)在泛型的 where 語句寫在一個(gè)聲明的最后。
  • 更新逃逸閉包一節(jié),現(xiàn)在閉包默認(rèn)為非逃逸的(noescaping)。
  • 更新基礎(chǔ)部分章節(jié)中可選綁定一節(jié)和語句章節(jié)中While 語句一節(jié),現(xiàn)在 if,while 和 guard 語句使用逗號(hào)分隔條件列表,不需要使用 where 語句。
  • 增加控制流章節(jié)中Switch一節(jié)和語句章節(jié)中Switch 語句一節(jié)關(guān)于 switch cases 可以使用多模式的信息。
  • 更新函數(shù)類型一節(jié),現(xiàn)在函數(shù)參數(shù)標(biāo)簽不包含在函數(shù)類型中。
  • 更新協(xié)議章節(jié)中協(xié)議組合一節(jié)和類型章節(jié)中協(xié)議組合類型一節(jié)關(guān)于使用新的 Protocol1 & Protocol2 語法的信息。
  • 更新動(dòng)態(tài)類型表達(dá)式一節(jié)使用新的 type(of:) 表達(dá)式的信息。
  • 更新行控制表達(dá)式一節(jié)使用 #sourceLocation(file:line:) 表達(dá)式的信息。
  • 更新永不返回函數(shù)一節(jié)使用 新的 Never 類型的信息。
  • 增加字面量表達(dá)式一節(jié)關(guān)于 playground 字面量的信息。
  • 更新In-Out 參數(shù)一節(jié),標(biāo)明只有非逃逸閉包能捕獲 in-out 參數(shù)。
  • 更新默認(rèn)參數(shù)值一節(jié),現(xiàn)在默認(rèn)參數(shù)不能在調(diào)用時(shí)候重新排序。
  • 更新屬性章節(jié)中關(guān)于屬性參數(shù)使用分號(hào)的說明。
  • 增加重新拋出函數(shù)和方法一節(jié)中關(guān)于在 catch 代碼塊中拋出錯(cuò)誤的重新拋出函數(shù)的信息。
  • 增加Selector 表達(dá)式一節(jié)中關(guān)于訪問 Objective-C 中 Selector 的 getter 和 setter 的信息。
  • 增加類型別名聲明一節(jié),標(biāo)明函數(shù)類型作為參數(shù)類型必須使用括號(hào)包裹。
  • 增加函數(shù)類型一節(jié)中關(guān)于泛型類型別名和在協(xié)議內(nèi)使用類型別名的信息。
  • 更新屬性章節(jié),標(biāo)明 @IBAction,@IBOutlet 和 @NSManaged 隱式含有 @objc 屬性。
  • 增加聲明屬性一節(jié)中關(guān)于 @GKInspectable 的信息。
  • 更新可選協(xié)議要求一節(jié)中關(guān)于只能在與 Objective-C 交互的代碼中才能使用可選協(xié)議要求的信息。
  • 刪除函數(shù)聲明一節(jié)中關(guān)于顯式使用 let 關(guān)鍵字作為函數(shù)參數(shù)的信息。
  • 刪除語句一節(jié)中關(guān)于 Boolean 協(xié)議的信息, 現(xiàn)在這個(gè)協(xié)議已經(jīng)被 Swift 標(biāo)準(zhǔn)庫刪除。
  • 更正聲明一節(jié)中關(guān)于 @NSApplicationMain 協(xié)議的信息。

Swift 2.2 更新

發(fā)布日期 語法變更記錄
2016-03-21
  • 更新至 Swift 2.2。
  • 增加了編譯配置語句一節(jié)中關(guān)于如何根據(jù) Swift 版本進(jìn)行條件編譯。
  • 增加了顯示成員表達(dá)式一節(jié)中關(guān)于如何區(qū)分只有參數(shù)名不同的方法和構(gòu)造器的信息。
  • 增加了選擇器表達(dá)式一節(jié)中針對(duì) Objective-C 選擇器的 #selector 語法。
  • 更新了關(guān)聯(lián)類型協(xié)議關(guān)聯(lián)類型聲明,使用 associatedtype 關(guān)鍵詞修改了對(duì)于關(guān)聯(lián)類型的討論。
  • 更新了可失敗構(gòu)造器一節(jié)中關(guān)于當(dāng)構(gòu)造器在實(shí)例完全初始化之前返回 nil的相關(guān)信息。
  • 增加了比較運(yùn)算符一節(jié)中關(guān)于比較元組的信息。
  • 增加了關(guān)鍵字和標(biāo)點(diǎn)符號(hào)一節(jié)中關(guān)于使用關(guān)鍵字作為外部參數(shù)名的信息。
  • 增加了聲明特性一節(jié)中關(guān)于@objc特性的討論,并指出枚舉(Enumeration)和枚舉用例(Enumaration Case)。
  • 增加了操作符一節(jié)中對(duì)于自定義運(yùn)算符的討論包含了.。
  • 增加了重新拋出錯(cuò)誤的函數(shù)和方法一節(jié)中關(guān)于重新拋出錯(cuò)誤函數(shù)不能直接拋出錯(cuò)誤的筆記。
  • 增加了屬性觀察器一節(jié)中關(guān)于當(dāng)作為 in-out 參數(shù)傳遞屬性時(shí),屬性觀察器的調(diào)用行為。
  • 增加了Swift 初見一節(jié)中關(guān)于錯(cuò)誤處理的內(nèi)容。
  • 更新了弱引用一節(jié)中的圖片用以更清楚的展示重新分配過程。
  • 刪除了 C 語言風(fēng)格的 for 循環(huán),++ 前綴和后綴運(yùn)算符,以及-- 前綴和后綴運(yùn)算符。
  • 刪除了對(duì)變量函數(shù)參數(shù)和柯里化函數(shù)的特殊語法的討論。

Swift 2.1 更新

發(fā)布日期 語法變更記錄
2015-10-20

Swift 2.0 更新

發(fā)布日期 語法變更記錄
2015-09-16
  • 更新至 Swift 2.0。
  • 增加了對(duì)于錯(cuò)誤處理相關(guān)內(nèi)容,包括 錯(cuò)誤處理一章、Do 語句Throw 語句、Defer 語句以及try 運(yùn)算符 的多個(gè)小節(jié)。
  • 更新了表示并拋出錯(cuò)誤一節(jié),現(xiàn)在所有類型均可遵循 ErrorType 協(xié)議。
  • 增加了將錯(cuò)誤轉(zhuǎn)換成可選值一節(jié) try? 關(guān)鍵字的相關(guān)信息。
  • 增加了枚舉一章的遞歸枚舉一節(jié)和聲明一章的任意類型用例的枚舉一節(jié)中關(guān)于遞歸枚舉的內(nèi)容。
  • 增加了控制流一章中a >檢查 API 可用性一節(jié)和語句一章中可用性條件一節(jié)中關(guān)于 API 可用性檢查的內(nèi)容。
  • 增加了控制流一章的早期退出一節(jié)和語句一章的guard語句中關(guān)于新 guard 語句的內(nèi)容。
  • 增加了協(xié)議一章中協(xié)議擴(kuò)展一節(jié)中關(guān)于協(xié)議擴(kuò)展的內(nèi)容。
  • 增加了訪問控制一章中單元測(cè)試 target 的訪問級(jí)別一節(jié)中關(guān)于單元測(cè)試的訪問控制相關(guān)的內(nèi)容。
  • 增加了模式一章中可選模式一節(jié)中的新可選模式。
  • 更新了 Repeat-While 一節(jié)中關(guān)于repeat-while循環(huán)的信息。
  • 更新了字符串和字符一章,現(xiàn)在String在 Swift 標(biāo)準(zhǔn)庫中不再遵循CollectionType協(xié)議。
  • 增加了打印常量和變量一節(jié)中關(guān)于新 Swift 標(biāo)準(zhǔn)庫中關(guān)于 print(_:separator:terminator) 的信息。
  • 增加了枚舉一章中原始值的隱式賦值一節(jié)和聲明一章的包含原始值類型的枚舉一節(jié)中關(guān)于包含String原始值的枚舉用例的行為。
  • 增加了自閉包一節(jié)中關(guān)于@autoclosure特性的相關(guān)信息,包括它的@autoclosure(escaping)形式。
  • 更新了聲明特性一節(jié)中關(guān)于@avaliablewarn_unused_result特性的相關(guān)內(nèi)容。
  • 更新了類型特性一節(jié)中關(guān)于@convention特性的相關(guān)信息。
  • 增加了可選綁定一節(jié)中關(guān)于使用where子句進(jìn)行多可選綁定的內(nèi)容。
  • 增加了字符串字面量一節(jié)中關(guān)于在編譯時(shí)使用 + 運(yùn)算符憑借字符串字面量的相關(guān)信息。
  • 增加了元類型一節(jié)中關(guān)于元類型值的比較和使用它們通過構(gòu)造器表達(dá)式構(gòu)造實(shí)例。
  • 增加了斷言調(diào)試一節(jié)中關(guān)于用戶定義斷言是被警用的相關(guān)內(nèi)容。
  • 更新了聲明特性一節(jié)中,對(duì)@NSManaged特性的討論,現(xiàn)在這個(gè)特性可以被應(yīng)用到一個(gè)確定實(shí)例方法。
  • 更新了可變參數(shù)一節(jié),現(xiàn)在可變參數(shù)可以聲明在函數(shù)參數(shù)列表的任意位置中。
  • 增加了重寫可失敗構(gòu)造器一節(jié)中,關(guān)于非可失敗構(gòu)造器相當(dāng)于一個(gè)可失敗構(gòu)造器通過父類構(gòu)造器的結(jié)果進(jìn)行強(qiáng)制拆包的相關(guān)內(nèi)容。
  • 增加了任意類型用例的枚舉一節(jié)中關(guān)于枚舉用例作為函數(shù)的內(nèi)容。
  • 增加了構(gòu)造器表達(dá)式一節(jié)中關(guān)于顯式引用一個(gè)構(gòu)造器的內(nèi)容。
  • 更新了編譯控制語句一節(jié)中關(guān)于編譯信息以及行控制語句的相關(guān)信息。
  • 更新了元類型一節(jié)中關(guān)于如何從元類型值中構(gòu)造類實(shí)例。
  • 更新了弱引用一節(jié)中關(guān)于弱引用作為緩存的顯存的不足。
  • 更新了類型特性一節(jié),提到了存儲(chǔ)型特性其實(shí)是懶加載。
  • 更新了捕獲類型一節(jié),闡明了變量和常量在閉包中如何被捕獲。
  • 更新了聲明特性一節(jié)用以描述如何在類中使用@objc關(guān)鍵字。
  • 增加了錯(cuò)誤處理一節(jié)中關(guān)于執(zhí)行throw語句的性能的討論。增加了 Do 語句一節(jié)中相似的信息。
  • 更新了類型特性一節(jié)中關(guān)于類、結(jié)構(gòu)體和枚舉的存儲(chǔ)型和計(jì)算型特性的信息。
  • 更新了Break 語句一節(jié)中關(guān)于帶標(biāo)簽的 break 語句。
  • 更新了屬性觀察器一節(jié),闡明了willSetdidSet觀察器的行為。
  • 增加了訪問級(jí)一節(jié)中關(guān)于private作用域訪問的相關(guān)信息。
  • 增加了弱引用一節(jié)中關(guān)于若應(yīng)用在垃圾回收系統(tǒng)和 ARC 之間的區(qū)別。
  • 更新了字符串字面量中特殊字符一節(jié)中對(duì) Unicode 標(biāo)量更精確的定義。

Swift 1.2 更新

發(fā)布日期 語法變更記錄
2015-4-8
  • 更新至 Swift 1.2。
  • Swift現(xiàn)在自身提供了一個(gè)Set集合類型,更多信息請(qǐng)看集合
  • @autoclosure現(xiàn)在是一個(gè)參數(shù)聲明的屬性,而不是參數(shù)類型的屬性。這里還有一個(gè)新的參數(shù)聲明屬性@noescape。更多信息,請(qǐng)看屬性聲明
  • 對(duì)于類型屬性和方法現(xiàn)在可以使用static關(guān)鍵字作為聲明描述符,更多信息,請(qǐng)看類型變量屬性
  • Swift現(xiàn)在包含一個(gè)as?as!的向下可失敗類型轉(zhuǎn)換運(yùn)算符。更多信息,請(qǐng)看協(xié)議遵循性檢查
  • 增加了一個(gè)新的指導(dǎo)章節(jié),它是關(guān)于字符串索引
  • 溢出運(yùn)算符中移除了溢出除運(yùn)算符(&/)和求余溢出運(yùn)算符(&%)。
  • 更新了常量和常量屬性在聲明和構(gòu)造時(shí)的規(guī)則,更多信息,請(qǐng)看常量聲明
  • 更新了字符串字面量中Unicode標(biāo)量集的定義,請(qǐng)看字符串字面量中的特殊字符
  • 更新了區(qū)間運(yùn)算符章節(jié)來提示當(dāng)半開區(qū)間運(yùn)算符含有相同的起止索引時(shí),其區(qū)間為空。
  • 更新了閉包引用類型章節(jié)來澄清對(duì)于變量的捕獲規(guī)則
  • 更新了值溢出章節(jié)來澄清有符號(hào)整數(shù)和無符號(hào)整數(shù)的溢出行為
  • 更新了協(xié)議聲明章節(jié)來澄清協(xié)議聲明時(shí)的作用域和成員
  • 更新了捕獲列表章節(jié)來澄清對(duì)于閉包捕獲列表中的弱引用和無主引用的使用語法。
  • 更新了運(yùn)算符章節(jié)來明確指明一些例子來說明自定義運(yùn)算符所支持的特性,如數(shù)學(xué)運(yùn)算符,各種符號(hào),Unicode符號(hào)塊等
  • 在函數(shù)作用域中的常量聲明時(shí)可以不被初始化,它必須在第一次使用前被賦值。更多的信息,請(qǐng)看常量聲明
  • 在構(gòu)造器中,常量屬性有且僅能被賦值一次。更多信息,請(qǐng)看在構(gòu)造過程中給常量屬性賦值
  • 多個(gè)可選綁定現(xiàn)在可以在if語句后面以逗號(hào)分隔的賦值列表的方式出現(xiàn),更多信息,請(qǐng)看可選綁定
  • 一個(gè)可選鏈表達(dá)式必須出現(xiàn)在后綴表達(dá)式中
  • 協(xié)議類型轉(zhuǎn)換不再局限于@obj修飾的協(xié)議了
  • 在運(yùn)行時(shí)可能會(huì)失敗的類型轉(zhuǎn)換可以使用as?as!運(yùn)算符,而確保不會(huì)失敗的類型轉(zhuǎn)換現(xiàn)在使用as運(yùn)算符。更多信息,請(qǐng)看類型轉(zhuǎn)換運(yùn)算符

Swift 1.1 更新

發(fā)布日期 語法變更記錄
2014-10-16
  • 更新至 Swift 1.1。
  • 增加了關(guān)于失敗構(gòu)造器(Failable Initializers)的完整章節(jié)。
  • 增加了協(xié)議中關(guān)于失敗構(gòu)造器要求的描述。
  • 常量和變量的 Any 類型現(xiàn)可以包含函數(shù)實(shí)例。更新了關(guān)于 Any 相關(guān)的示例來展示如何在 switch 語句中如何檢查并轉(zhuǎn)換到一個(gè)函數(shù)類型。
  • 帶有原始值的枚舉類型增加了一個(gè)rawValue屬性替代toRaw()方法,同時(shí)使用了一個(gè)以rawValue為參數(shù)的失敗構(gòu)造器來替代fromRaw()方法。更多的信息,請(qǐng)看原始值(Raw Values)帶原始值的枚舉類型(Enumerations with Cases of a Raw-Value Type)部分。
  • 自定義運(yùn)算符現(xiàn)在可以包含`?`字符,更新的運(yùn)算符(Operators)章節(jié)描述了改進(jìn)后的規(guī)則,并且從自定義運(yùn)算符(Custom Operators)章節(jié)刪除了重復(fù)的運(yùn)算符有效字符集合

Swift 1.0 更新

發(fā)布日期 語法變更記錄
2014-08-18
? Swift 初見 Swift 1.0 發(fā)布內(nèi)容 ?
?