-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
10/8 新書到! 10/1 新書到! 9/24 新書到! 9/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Swift開發秘籍

( 簡體 字)
作者:[美]Erica Sadun著類別:1. -> 程式設計 -> 手機程式 -> Swift
譯者: 李澤魯 譯
出版社:清華大學出版社Swift開發秘籍 3dWoo書號: 44870
詢問書籍請說出此書號!

有庫存
NT售價: 250

出版日:8/1/2016
頁數:217
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302443759
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

雖然Swift編程語言已經問世一年多了,但該語言仍在不斷地發展和演變。編寫一本有關尚未穩定的編程語言的書籍,似乎有些令人可笑,但這正是本書所要做的事情。Swift雖然還在不停地變化,但它已不是新生兒。Swift并不知道Apple開發者預期的目的是什么。作為現代類型安全的語言,Swift已經確定了其基本法則,具體細節的實現就只能交給時間來解決了。
Swift讓編程變得簡單而快樂。它的結構和庫呈現了嶄新的方法,以便組織代碼和處理數據,并執行無休止的日常任務。從面向協議和函數編程到優秀的閉包和代數數據類型,Swift提供了一種新的且令人興奮的編程方式。使用Swift開發的時間越長,就越難回到之前的舊語言,因為舊語言中沒有提供這些屬于Swift的強大特性。
本書與傳統的教程有所不同。無論你是否有編程經驗,如果希望將現有的能力提升到一個新的高度,那么本書就是為你而寫的。書中的每個重點章節都涵蓋了實用技能。這些章節會指引你掌握Swift,并完成其中的基本開發任務。你不必從頭到尾閱讀本書(盡管你很喜歡這樣做),而可以直接深入到你想學習的任何話題中,從討論中獲取你要學習的內容。
本書在筆者的工作中被視為一個令人振奮的項目。希望你能像我喜歡寫本書一樣喜歡閱讀本書。
本書的組織結構
本書提供了一個實用的Swift開發專題調查。以下是本書各章的內容:
第1章,“歡迎使用Swift”——該章探討如何使用Swift這種現代類型安全的編程語言來構建應用。在工作中使用不斷變化的新語言并不總是一帆風順。自從蘋果公司推出Swift語言之后,該語言一直都在更新。從一個個beta版的發布到一個個release版的發布,這意味著一些新功能和新語法可能在下一個版本發布時就不再使用了。該章介紹了學習一種不斷發展的語言意味著什么,以及如何在語言更新的同時移植代碼。
第2章,“打印與映射” ——雖然編程是使用代碼構建組件,但要牢記代碼最終是為開發者和用戶服務的。代碼不僅僅需要編譯,還應易于理解、上下連貫并且高效執行。該章討論所有范圍內的輸出場景,從面向用戶的寫操作到面向開發者的調試支持。該章除了總結這些技術外,還探討如何準確地建立反饋和文檔并根據開發和調試需求輸出相應內容。
第3章,“可選類型?!”——不像其他語言那樣,Swift中的nil并不是指針。可以使用nil來安全地表示結構中潛在的有效或無效值。學習如何識別和使用可選類型是掌握Swift語言的重要一步。該章介紹了可選類型,為了檢測nil支持的結構,需要在代碼中創建、測試并成功地使用可選類型。
第4章,“閉包和函數”——閉包語法為方法、函數和“塊”參數提供了基礎,所有這些參數都是開發Swift應用的基礎。通過封裝狀態和功能,促使了優秀結構的形成。該章討論了閉包,展示了閉包在Swift中的工作方式以及如何更好地將其納入應用中。
第5章,“泛型和協議”——泛型有助于構建健壯的代碼,用以擴展單一類型之外的功能。泛型實現服務于一組數據類型,而不是某一種特定的數據類型。泛型類型和協議(行為合約)的組合,建立了強大而靈活的編程組合。該章介紹了這些概念,并且探討了如何掌握那些在版本更新中經常令人迷惑的部分。
第6章,“錯誤”—— Swift中的“錯誤”和其他編程語言中一樣,表示失敗的事情。在日常開發任務中,你會遇到邏輯錯誤,即能正常編譯運行,但無法達到預期效果。有時還會遇到由現實條件而產生的運行時錯誤,如缺少資源或訪問了不可用的服務。Swift反饋機制包括斷言導致的致命錯誤和支持恢復的錯誤類型,它們可以幫助定位問題,并提供運行時的解決方案。該章介紹“錯誤”,并幫助你了解如何處理各種故障。
第7章,“類型”——當提到類型時,Swift提供了三個不同尋常的類型系列。Swift的類型系統包括類(提供引用類型)、枚舉和結構體(二者都為代數值類型)。為支持開發,每種類型都有獨特的優勢和功能。該章總結了Swift語言中常用的關鍵概念,并探討了應用中類型的工作方式。
第8章,“雜記”——Swift是一種充滿活力且正在不斷發展的語言,在單一的框架內許多功能并不總是適用。該章介紹了一系列主題,雖然這些主題在本書找不到合適的對應章節,但仍然值得關注。
內容簡介:

在本書中,著名編程圖書作者Erica Sadun介紹了有效的策略和即時可用的Swift代碼來應對日常開發所面臨的挑戰。
  在Erica Sadun編寫的所有編程暢銷書中, Swift開發秘籍 將現代的最佳實踐轉換為幾十個行之有效、方便適用的解決方案。本書的代碼示例是針對開發人員遇到的現實問題而創建的,以反映Swift的最新功能和最佳實踐。每章都將相關任務組織在一起。讀者可以直接跳轉到所需的解決方案,而不必先確定正確的類或框架。
  本書涵蓋了Swift開發的關鍵概念,展示了如何編寫健壯且高效的代碼,并幫助讀者避免其他開發人員經常遇到的陷阱。書中為使用這一功能強大的語言提供了一些權威的策略,并考慮了Swift的快速更新和版本遷移工具。
  你可能正在從Objective-C語言、從Swift語言的舊版本或者從非蘋果語言遷移到現代的Swift語言,本書將有助于你掌握“如何”以及“為什么”進行有效的Swift開發。企業招聘人員正在尋找能解決實際問題并能開發有效工作代碼的Swift開發人員。有了這本書,就可以準備啟航了。
目錄:

第1章歡迎使用Swift 1

1.1代碼遷移 2

1.1.1如何遷移 2

1.1.2遷移課程 3

1.2使用Swift 4

1.2.1編譯應用 4

1.2.2框架和庫 5

1.2.3腳本 6

1.2.4REPL 6

1.2.5Playground 7

1.2.6其他 8

1.3學習Swift 8

1.4小結 9

第2章打印與映射 11

2.1基礎打印 11

2.1.1打印多個條目 12

2.1.2添加條目分隔符 13

2.1.3字符串插值 13

2.1.4控制換行符 14

2.2秘訣:打印自定義目標 16

2.2.1打印字符串 16

2.2.2打印自定義輸出流 17

2.3秘訣:打印和字符串格式化 19

2.3.1Swift和格式說明符 20

2.3.2格式化的局限性 20

2.3.3條件編譯 21

2.4調試打印 22

2.5秘訣:后綴打印 24

2.6快速查找 25

2.6.1QuickLookforCustomTypes 25

2.6.2Playground中的QuickLookforCustomTypes 26

2.6.3PlaygroundQuickLooks 26

2.6.4為Playground創建自定義QuickLook 27

2.6.5內置QuickLook類型 28

2.6.6第三方渲染 29

2.7使用Dump函數 30

2.8構建自定義映射 31

2.8.1遞歸映射 33

2.8.2使用協議一致性構建

基本映射描述 33

2.9添加標題文檔 35

2.9.1構建標題文檔 36

2.9.2Markdown支持 36

2.9.3關鍵字 37

2.9.4特殊的Swift關注點 39

2.9.5為標題文檔添加圖像 40

2.10小結 41

第3章可選類型?! 43

3.1可選類型初步 43

3.2展開可選值(UnwrappingOptionals) 45

3.2.1強制展開 45

3.2.2條件綁定 45

3.2.3條件綁定和類型轉換 46

3.2.4級聯綁定 48

3.2.5guard語句 49

3.2.6可選值的隱式展開 50

3.2.7保護failable初始化器 52

3.2.8可選值和哨兵值 53

3.2.9合并 55

3.2.10可選賦值 55

3.2.11可選模式 56

3.3可選鏈 58

3.3.1選擇器測試和可選鏈 60

3.3.2下標 61

3.4可選映射 61

3.4.1映射和鏈 62

3.4.2使用flatMap過濾nil值 62

3.5非托管包裝器 63

3.6小結 64

第4章閉包和函數 67

4.1創建函數 67

4.1.1參數名 68

4.1.2標簽約定 68

4.1.3方法和函數的命名 70

4.1.4外部和局部參數 71

4.1.5默認參數 71

4.1.6常量和變量參數 73

4.1.7修改參數 74

4.2閉包和函數 75

4.2.1函數類型 75

4.2.2使用元組實參 76

4.2.3使用實參名縮寫 77

4.2.4推斷閉包類型 78

4.2.5參數類型推斷 80

4.2.6聲明類型別名 80

4.2.7嵌套函數 81

4.3元組 83

4.3.1將元組轉換成結構體 84

4.3.2元組返回類型 85

4.4可變參數 86

4.5捕獲值 87

4.6Autoclosure 90

4.7柯里化(Currying) 94

4.7.1柯里化的原因 95

4.7.2構建庫 95

4.7.3局部應用 97

4.7.4柯里化的成本 97

4.7.5柯里化和回調 97

4.7.6柯里化實踐 99

4.8將閉包傳遞給函數參數 100

4.9小結 103

第5章泛型和協議 105

5.1詳述泛型 105

5.1.1協議 106

5.1.2標記 107

5.1.3類型約束 108

5.2采用協議 108

5.2.1聲明協議 109

5.2.2成員聲明 111

5.2.3構建基本協議 113

5.2.4添加協議的默認實現 114

5.2.5可選的協議要求 116

5.2.6Swift原生的可選協議要求 116

5.3構建泛型類型 117

5.4泛型要求 119

5.4.1一致性要求 119

5.4.2秘訣:相同類型要求 120

5.4.3泛型美化 121

5.4.4合法的標記 122

5.4.5匹配別名 123

5.4.6協議別名的默認值 123

5.4.7關聯類型總結 124

5.5擴展泛型類型 125

5.6使用協議類型 126

5.6.1基于協議的集合 126

5.6.2Self要求 126

5.6.3協議對象和Self要求 128

5.7利用協議 129

5.8小結 129

第6章錯誤 131

6.1冷酷無情的失敗 131

6.1.1致命錯誤 132

6.1.2斷言 132

6.1.3先決條件 133

6.1.4中斷和退出 134

6.2優雅地失敗 134

6.2.1ErrorType協議 134

6.2.2在可選項和錯誤處理之間做出選擇 136

6.3Swift的錯誤規則 136

6.3.1規則1:遠離nil哨兵 136

6.3.2規則2:使用throw拋出錯誤 138

6.3.3規則3:使用帶有可見訪問的錯誤類型 139

6.3.4規則4:使用throws來標記所有錯誤參與的方法 139

6.3.5規則5:堅持使用rethrows 140

6.3.6規則6:消耗錯誤是很重要的 141

6.3.7規則7:終止線程的錯誤鏈 141

6.4構建錯誤 143

6.4.1良好的錯誤 144

6.4.2為錯誤命名 144

6.5添加字符串描述 145

6.5.1添加原因 145

6.5.2簡化輸出 146

6.5.3擴展字符串 147

6.5.4類型特定的錯誤 147

6.6獲取上下文 147

6.6.1將字符串置于上下文中研究 148

6.6.2將拋出類型置于上下文中研究 149

6.6.3簡化上下文 151

6.7調用拋出函數 152

6.7.1使用try 152

6.7.2錯誤傳播 153

6.7.3使用try! 154

6.7.4使用try? 155

6.8為try?實現替代方法 156

6.8.1謹慎使用結果 158

6.8.2構建try?的打印版本 158

6.9使用guard和defer 159

6.10小結 160

第7章類型 161

7.1語言概念 161

7.1.1引用類型和值類型 161

7.1.2復制與回寫 163

7.1.3代數數據類型 164

7.1.4其他術語 164

7.2枚舉 165

7.2.1基本枚舉 166

7.2.2使用哈希值來支持區間 166

7.2.3原始值枚舉 168

7.2.4原始值成員和序列 169

7.2.5關聯值 171

7.2.6間接值 172

7.3switch語句 173

7.3.1分支 173

7.3.2中斷 174

7.3.3fallthrough 174

7.3.4復雜的case 176

7.3.5元組 176

7.3.6值綁定的模式匹配 177

7.3.7where子句 177

7.3.8展開可選的枚舉 178

7.4通過類型嵌入值 179

7.5選項集 182

7.5.1重溫NS_OPTIONS 182

7.5.2構建枚舉 183

7.5.3構建選項集 184

7.5.4查看選項 184

7.6類 185

7.6.1優化 186

7.6.2初始化器 186

7.6.3初始化步驟 187

7.6.4指定初始化器和便利初始化器 187

7.6.5初始化器規則 187

7.6.6構建便利初始化器 188

7.6.7可失敗初始化器和拋出初始化器 189

7.6.8析構器 191

7.7屬性觀察器 192

7.8擴展和重寫 194

7.9惰性求值 196

7.9.1惰性序列 196

7.9.2惰性屬性 196

7.10小結 197

第8章雜記 199

8.1聲明標簽 199

8.2自定義運算符 201

8.2.1聲明運算符 201

8.2.2運算符的一致性 202

8.2.3對運算符的取舍進行評估 203

8.3數組的索引 203

8.3.1多索引的數組訪問 204

8.3.2封裝索引 206

8.3.3數組切片 206

8.4泛型下標 207

8.5字符串工具 209

8.5.1重復元素初始化器 209

8.5.2字符串和基數 209

8.5.3字符串區間 211

8.5.4字符串分割 212

8.5.5字符串下標 213

8.5.6與Foundation的互操作 214

8.5.7連接與擴展 214

8.6序列生成器 215

8.7小結 217

序: