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

Swift 文檔修訂歷史

2019-09-10

  • 更新至 Swift 5.1。
  • 不透明類型 篇章中新增了有關(guān)函數(shù)返回值遵循指定協(xié)議,而不需要提供指定返回類型的內(nèi)容。
  • 屬性包裝器 章節(jié)中新增了有關(guān)屬性包裝器的內(nèi)容。
  • 凍結(jié) 章節(jié)中新增了有關(guān)因庫演變而需要的枚舉和結(jié)構(gòu)體凍結(jié)。
  • 新增 隱式返回的函數(shù)簡(jiǎn)化 Getter 聲明 章節(jié),其中包含函數(shù)省略 return 的內(nèi)容。
  • 類型下標(biāo) 章節(jié)中新增了有關(guān)在類型中使用下標(biāo)的內(nèi)容。
  • 更新 枚舉 Case 模式匹配 章節(jié),現(xiàn)在枚舉 case 模式匹配支持匹配可選值。
  • 更新 結(jié)構(gòu)體的逐一成員構(gòu)造器 章節(jié),現(xiàn)在逐一成員構(gòu)造器支持在屬性有默認(rèn)值時(shí)省略形參。
  • 動(dòng)態(tài)查找成員 章節(jié)中新增了有關(guān)在運(yùn)行時(shí)用 key path 查找動(dòng)態(tài)成員的內(nèi)容。
  • 條件編譯代碼塊 中的目標(biāo)環(huán)境里添加了 macCatalyst。
  • 更新 自身類型 章節(jié),現(xiàn)在 Self 可以指向當(dāng)前類,結(jié)構(gòu)體或者枚舉聲明時(shí)的類型。

2019-03-25

  • 更新至 Swift 5。
  • 新增 拓展字符串分隔符 章節(jié)。更新 字符串字面量 章節(jié),拓展有關(guān)字符串分隔符的內(nèi)容。
  • 新增 動(dòng)態(tài)調(diào)用 章節(jié),其中包含使用 dynamicCallable 屬性動(dòng)態(tài)調(diào)用實(shí)例作為函數(shù)的內(nèi)容。
  • 新增 unknown未來枚舉匹配 章節(jié),其中包含了使用 unknown 來處理未來枚舉可能發(fā)生改變的情形。
  • Key-Path 表達(dá)式 章節(jié)新增了有關(guān)標(biāo)示 key path (\.self) 的內(nèi)容。
  • 可選編譯塊 章節(jié)新增了有關(guān)小于比較符 < 的內(nèi)容。

2018-09-17

  • 更新至 Swift 4.2。
  • 遍歷枚舉情形 章節(jié)新增了有關(guān)訪問所有枚舉情形的內(nèi)容。
  • 編譯診斷 章節(jié)新增了有關(guān) #error#warning 的內(nèi)容。
  • 屬性聲明 章節(jié)中新增了有關(guān) inlinableusableFromInline 屬性的內(nèi)容。
  • 屬性聲明 章節(jié)中新增了有關(guān) requires-stored-property-initswarn-unqualified-access 屬性的內(nèi)容。
  • 可選編譯塊 章節(jié)新增了有關(guān)如何根據(jù) Swift 編譯器版本對(duì)代碼進(jìn)行對(duì)應(yīng)編譯處理的內(nèi)容。
  • 字面量語法 章節(jié)新增了有關(guān) #dsohandle 的內(nèi)容。

2018-03-29

2017-12-04

  • 更新至 Swift 4.0.3。
  • 更新 Key-Path 表達(dá)式 章節(jié),現(xiàn)在 key path 支持下標(biāo)子路徑。

2017-09-19

2017-03-27

  • 更新至 Swift 3.1。
  • 新增 范型 Where 子句擴(kuò)展 章節(jié),包含需要的擴(kuò)展內(nèi)容。
  • For-In 循環(huán) 章節(jié)中新增了區(qū)間迭代的例子。
  • 到可失敗構(gòu)造器 章節(jié)中新增了可失敗數(shù)值轉(zhuǎn)換的例子。
  • 聲明特性 章節(jié)中新增了有關(guān)使用 Swift 語言版本的 available 特性的內(nèi)容 。
  • 更新 函數(shù)類型 章節(jié)中的討論,注意在寫函數(shù)類型時(shí)不允許使用參數(shù)標(biāo)簽。
  • 更新 條件編譯塊 章節(jié)中的 Swift 語言版本號(hào)的討論,現(xiàn)在可以使用可選的補(bǔ)丁版本號(hào)。
  • 更新 函數(shù)類型 章節(jié)的討論,現(xiàn)在 Swift 區(qū)分了采用多參數(shù)的函數(shù)和采用元組類型的單個(gè)參數(shù)的函數(shù)。
  • 表達(dá)式 篇章中刪除了動(dòng)態(tài)表達(dá)式的章節(jié),現(xiàn)在 type(of:) 是 Swift 標(biāo)準(zhǔn)庫函數(shù)。

2016-10-27

2016-09-13

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

2016-03-21

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

2015-10-20

  • 更新至 Swift 2.1。
  • 更新 字符串插值字符串字面量 章節(jié),現(xiàn)在字符串插值可包含字符串字面量。
  • 逃逸閉包 章節(jié)中新增了有關(guān) @noescape 屬性的相關(guān)內(nèi)容。
  • 更新 聲明特性編譯配置語句 章節(jié)中與 tvOS 相關(guān)的內(nèi)容。
  • In-Out 參數(shù) 章節(jié)中新增了與 in-out 參數(shù)行為相關(guān)的內(nèi)容。
  • 捕獲列表 章節(jié)新增了有關(guān)指定閉包捕獲列表被捕獲時(shí)捕獲值的相關(guān)內(nèi)容。
  • 更新 可選鏈?zhǔn)秸{(diào)用訪問屬性 章節(jié),闡明了如何通過可選鏈?zhǔn)秸{(diào)用進(jìn)行賦值。
  • 改進(jìn) 自動(dòng)閉包 章節(jié)中對(duì)自閉包的討論。
  • Swift 初見 篇章中新增了一個(gè)使用 ?? 操作符的例子。

2015-09-16

  • 更新至 Swift 2.0。
  • 錯(cuò)誤處理 篇章中新增了有關(guān)錯(cuò)誤處理的相關(guān)內(nèi)容,包括 Do 語句、 Throw 語句、 Defer 語句 以及 try 運(yùn)算符。
  • 更新 錯(cuò)誤表示和拋出 章節(jié),現(xiàn)在所有類型都可以遵循 ErrorType 協(xié)議了。
  • 將錯(cuò)誤裝換成可選值 篇章增加了 try? 關(guān)鍵字相關(guān)內(nèi)容。
  • 枚舉 篇章的 遞歸枚舉 章節(jié)以及以及 聲明 篇章的 任意類型用例的枚舉 章節(jié)中新增了遞歸枚舉相關(guān)內(nèi)容。
  • 控制流 篇章的 API 可用性檢查 章節(jié)和 語句 篇章的 可用性條件 章節(jié)中新增了有關(guān) API 可用性檢查相關(guān)的內(nèi)容。
  • 控制流 篇章的 盡早退出 章節(jié)和 語句 篇章的 Guard 語句 章節(jié)新增了與 guard 語句相關(guān)的內(nèi)容。
  • 協(xié)議 篇章中 協(xié)議擴(kuò)展 章節(jié)中新增了有關(guān)協(xié)議擴(kuò)展的內(nèi)容。
  • 訪問控制 篇章的 單元測(cè)試 target 的訪問級(jí)別 章節(jié)中新增了有關(guān)單元測(cè)試訪問控制相關(guān)的內(nèi)容。
  • 模式 篇章的 可選模式 章節(jié)中新增了可選模式相關(guān)內(nèi)容。
  • 更新 Repeat-While 章節(jié)中有關(guān) repeat-while 循環(huán)相關(guān)的內(nèi)容。
  • 更新 字符串和字符 章節(jié),現(xiàn)在 String 類型在 Swift 標(biāo)準(zhǔn)庫中不再遵循 CollectionType 協(xié)議。
  • 常量與變量打印 章節(jié)中新增了新 Swift 標(biāo)準(zhǔn)庫中有關(guān) print(-:separator:terminator) 相關(guān)內(nèi)容。
  • 枚舉 篇章的 原始值的隱式賦值 章節(jié)和 聲明 篇章的 包含原始值類型的枚舉 章節(jié)中新增了有關(guān)包含 String 原始值的枚舉用例的行為相關(guān)內(nèi)容。
  • 自動(dòng)閉包 章節(jié)中新增了有關(guān) @autoclosure 特性的相關(guān)內(nèi)容,包括它的 @autoclosure(escaping) 形式。
  • 更新 聲明特性 章節(jié)中有關(guān) @avaliablewarn-unused-result 特性的相關(guān)內(nèi)容。
  • 更新 類型特性 章節(jié)中有關(guān) @convention 特性的相關(guān)內(nèi)容。
  • 可選綁定 章節(jié)中新增了有關(guān)使用 where 子句進(jìn)行多可選綁定的相關(guān)內(nèi)容。
  • 字符串字面量 章節(jié)中新增了有關(guān)在編譯時(shí)使用 + 運(yùn)算符拼接字符串字面量的相關(guān)內(nèi)容。
  • 元類型 章節(jié)中新增了有關(guān)元類型值的比較和使用它們通過構(gòu)造器表達(dá)式構(gòu)造實(shí)例相關(guān)內(nèi)容。
  • 斷言調(diào)試 章節(jié)中新增了一處說明,有關(guān)用戶定義斷言何時(shí)會(huì)失效。
  • 更新 聲明特性 章節(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)造器相關(guān)內(nèi)容。
  • 編譯控制語句 章節(jié)中新增了有關(guān)編譯內(nèi)容以及行控制語句相關(guān)內(nèi)容。
  • 元類型 章節(jié)新增了一處說明,有關(guān)如何從元類型值中構(gòu)造類實(shí)例相關(guān)內(nèi)容。
  • 弱引用 章節(jié)新增了一處說明,有關(guān)弱引用作為緩存所存在的不足。
  • 更新 類型特性 章節(jié),提到了存儲(chǔ)型特性其實(shí)是懶加載。
  • 更新 捕獲類型 章節(jié),闡明了變量和常量在閉包中如何被捕獲。
  • 更新 聲明特性 章節(jié),用以描述何時(shí)在類中使用 @objc 關(guān)鍵字。
  • 錯(cuò)誤處理 章節(jié)中新增了一處說明,有關(guān)執(zhí)行 throw 語句的性能。在 Do 語句 章節(jié)的 do 語句部分也新增了類似內(nèi)容。
  • 更新 類型特性 章節(jié)中有關(guān)類、結(jié)構(gòu)體和枚舉的存儲(chǔ)型和計(jì)算型特性相關(guān)的內(nèi)容。
  • 更新 Break 語句 章節(jié)中有關(guān)帶標(biāo)簽的 break 語句相關(guān)內(nèi)容。
  • 屬性觀察器 章節(jié)更新了一處說明,用來明確 willSetdidSet 觀察器的行為。
  • 訪問級(jí)別 章節(jié)新增了有關(guān) private 作用域的相關(guān)內(nèi)容說明。
  • 弱引用 章節(jié)新增了有關(guān)弱應(yīng)用在垃圾回收系統(tǒng)和 ARC 之間的區(qū)別的說明。
  • 更新 字符串字面量中特殊字符 章節(jié),對(duì) Unicode 標(biāo)量更精確定義。

2015-04-08

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

2014-10-16

  • 更新至 Swift 1.1。
  • 新增 失敗構(gòu)造器 的完整指引。
  • 在協(xié)議中新增了 失敗構(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() 方法。更多的內(nèi)容,請(qǐng)看 原始值帶原始值的枚舉類型。
  • 新增 Failable Initializer 的參考章節(jié),它可以觸發(fā)初始化失敗。
  • 自定義運(yùn)算符現(xiàn)在可以包含 ? 字符,更新了 運(yùn)算符 涉及改進(jìn)后的規(guī)則的部分,并且在 自定義運(yùn)算符 章節(jié)中刪除了重復(fù)的運(yùn)算符有效字符集合。

2014-08-18

  • 描述 Swift 1.0 的新文檔。Swift 是蘋果公司發(fā)布的全新編程語言,用于 iOS 和 OS X 應(yīng)用開發(fā)。
  • 在協(xié)議中新增了 對(duì)構(gòu)造器的規(guī)定 章節(jié)。
  • 新增 類專屬協(xié)議 章節(jié)。
  • 斷言 現(xiàn)在可以使用字符串內(nèi)插語法,并刪除了文檔中有沖突的注釋。
  • 更新 連接字符串和字符 章節(jié)來說明字符串和字符不能再用 + 號(hào)運(yùn)算符或者復(fù)合加法運(yùn)算符 += 相互連接,這兩種運(yùn)算符現(xiàn)在只能用于字符串之間相連。請(qǐng)使用 String 類型的 append 方法在一個(gè)字符串的尾部增加單個(gè)字符。
  • 屬性申明 章節(jié)增加了有關(guān) availability 特性的一些內(nèi)容。
  • 可選類型 若有值時(shí),不再隱式的轉(zhuǎn)換為 true,同樣,若無值時(shí),也不再隱式的轉(zhuǎn)換為 false,這是為了避免在判別 optional Bool 的值時(shí)產(chǎn)生困惑。 替代的方案是,用==!= 運(yùn)算符顯式地去判斷 Optinal 是否是 nil,以確認(rèn)其是否包含值。
  • Swift 新增了一個(gè) Nil 合并運(yùn)算符 (a ?? b) , 該表達(dá)式中,如果 Optional a 的值存在,則取得它并返回,若 Optional anil,則返回默認(rèn)值 b
  • 更新和擴(kuò)展 字符串的比較 ,用以反映和展示'字符串和字符的比較',以及'前綴(prefix)/后綴(postfix)比較'都開始基于擴(kuò)展字符集(extended grapheme clusters)規(guī)范的等價(jià)比較。
  • 現(xiàn)在,你可以通過下標(biāo)賦值或者 可選調(diào)用鏈 中的可變方法和操作符來給屬性設(shè)值。相應(yīng)地更新了有關(guān) 通過可選鏈接訪問屬性 的內(nèi)容,并擴(kuò)展了 通過可選鏈接調(diào)用方法 時(shí)檢查方法調(diào)用成功的示例,以顯示如何檢查屬性設(shè)置是否成功。
  • 在可選鏈中新增了 訪問可選類型的下標(biāo)腳注 章節(jié)。
  • 更新 訪問和修改數(shù)組 章節(jié)以標(biāo)示,從該版本起,不能再通過 += 運(yùn)算符給一個(gè)數(shù)組新增一個(gè)新的項(xiàng)。對(duì)應(yīng)的替代方案是,使 append 方法,或者通過 += 運(yùn)算符來新增一個(gè)只有一個(gè)項(xiàng)的數(shù)組。
  • 新增一處說明,在 范圍運(yùn)算符 中,比如, a..ba..<b ,起始值 a 不能大于結(jié)束值 b。
  • 重寫 繼承 篇章:刪除了本章中有關(guān)構(gòu)造器重寫的介紹性報(bào)道;轉(zhuǎn)而將更多的注意力放到新增的部分——子類的新功能,以及如何通過重寫(overrides)修改已有的功能。另外, 重寫屬性的 Getters 和 Setters 中的例子已經(jīng)被替換為展示如何重寫一個(gè) description 屬性。 (而有關(guān)如何在子類的構(gòu)造器中修改繼承屬性的默認(rèn)值的例子,已經(jīng)被移到 構(gòu)造過程 篇章。)
  • 更新 構(gòu)造器的繼承與重寫 章節(jié)以標(biāo)示: 重寫一個(gè)特定的構(gòu)造器必須使用 override 修飾符。
  • 更新 Required 構(gòu)造器 章節(jié)以標(biāo)示:required 修飾符現(xiàn)在需要出現(xiàn)在所有子類的 required 構(gòu)造器的聲明中,而 required 構(gòu)造器的實(shí)現(xiàn),現(xiàn)在可以僅從父類自動(dòng)繼承。
  • 中置(Infix)的 運(yùn)算符函數(shù) 不再需要 @infix 屬性。
  • 前置和后置運(yùn)算符@prefix@postfix 屬性,已變更為 prefixpostfix 聲明修飾符。
  • 新增一處說明,在 Prefix 和 postfix 運(yùn)算符被作用于同一個(gè)操作數(shù)時(shí) 前置和后置運(yùn)算符 的執(zhí)行順序。
  • 組合賦值運(yùn)算符 的運(yùn)算符函數(shù)不再使用 @assignment 屬性來定義函數(shù)。
  • 在定義 自定義操作符 時(shí),修飾符(Modifiers)的出現(xiàn)順序發(fā)生變化。比如現(xiàn)在,你該編寫 prefix operator, 而不是 operator prefix
  • 聲明修飾符 章節(jié)新增了有關(guān) dynamic 聲明修飾符的內(nèi)容。
  • 新增有關(guān) 字面量 類型推導(dǎo)內(nèi)容的內(nèi)容。
  • 新增更多有關(guān)柯里化函數(shù)的內(nèi)容。
  • 新增 權(quán)限控制 篇章。
  • 更新 字符串和字符 章節(jié),在 Swift 中現(xiàn)在 Character 類型代表的是擴(kuò)展字符集(extended grapheme cluster)中的一個(gè) Unicode,為此,新增了 Extended Grapheme Clusters 章節(jié)。同時(shí),Unicode 標(biāo)量字符串比較 章節(jié)新增了更多內(nèi)容。
  • 更新 字符串字面量 章節(jié),在一個(gè)字符串中,Unicode 標(biāo)量(Unicode scalars)以 \u{n}的形式來表示,n 是一個(gè)最大可以有8位的16進(jìn)制數(shù)。
  • NSString length 屬性已被映射到 Swift 的內(nèi)建 String類型。(注意,這兩屬性的類型是utf16Count,而非 utf16count)。
  • Swift 的內(nèi)建 String 類型不再擁有 uppercaseStringlowercaseString 屬性。在 字符串和字符 章節(jié)中刪除了對(duì)應(yīng)部分,并更新了各種對(duì)應(yīng)的代碼用例。
  • 新增 沒有外部名的構(gòu)造器參數(shù) 章節(jié)。
  • 新增 Required 構(gòu)造器 章節(jié)。
  • 新增 可選元組返回類型 章節(jié)。
  • 更新 類型注解 章節(jié),多個(gè)相關(guān)變量可以用"類型注解”在同一行中聲明為同一類型。
  • @optional, @lazy, @final, @required 等關(guān)鍵字被更新為 optional, lazy, final, required 參見 聲明修飾符
  • 更新了整本書中有關(guān) ..< 的引用,從半閉區(qū)間改為了 半開區(qū)間。
  • 更新 讀取和修改字典 章節(jié), Dictionary 現(xiàn)在增加了一個(gè) Boolean 型的屬性:isEmpty
  • 解釋了哪些字符(集)可被用來定義 自定義操作符。
  • nil 和布爾運(yùn)算中的 truefalse 現(xiàn)在被定義為 字面量。
  • Swift 中的數(shù)組 (Array) 類型從現(xiàn)在起具備了完整的值語義。具體內(nèi)容被更新到 集合的可變性數(shù)組 兩小節(jié),以反映這個(gè)新的變化。 此外,還解釋了如何給 Strings, Arrays 和 Dictionaries 進(jìn)行賦值和拷貝。
  • 數(shù)組類型速記語法SomeType [] 更新為 [SomeType]。
  • 新增 字典類型的速記語法 章節(jié),現(xiàn)在書寫格式為: [KeyType: ValueType]。
  • 新增 字典鍵類型的哈希值 章節(jié)。
  • 閉包表達(dá)式 示例中使用新的全局函數(shù) sorted 取代原先的全局函數(shù) sort 去展示如何返回一個(gè)全新的數(shù)組。
  • 更新 結(jié)構(gòu)體逐一成員構(gòu)造器 章節(jié),即使結(jié)構(gòu)體的成員 沒有默認(rèn)值,逐一成員構(gòu)造器也可以自動(dòng)獲得。
  • 半開區(qū)間運(yùn)算符.. 更新為 ..<。
  • 新增 泛型拓展 的示例。
? Swift 初見
?