TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
提醒您!您有折價券未完成領取,請盡速登入以保存至您的帳號。
Swift 5從零到精通iOS開發訓練營(簡體書)
滿額折

Swift 5從零到精通iOS開發訓練營(簡體書)

商品資訊

人民幣定價:119 元
定價
:NT$ 714 元
優惠價
87621
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:18 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

《Swift 5從零到精通iOS開發訓練營》由專業的iOS開發工程師根據新發佈的Swift 5.5程序設計語言精心編撰,書中兼備核心語法、程序設計技巧與應用實踐3大主題。該書第一部分從Xcode開發工具及Swift學習環境的搭建開始,重點介紹Swift的語言特性和應用場景,提供了大量程序設計練習,説明讀者儘快掌握Swift語言的精髓。第二部分介紹Swift開發iOS應用的基本技能,包括獨立UI控制項的應用、視圖接口邏輯的開發、動畫與佈局技術、網絡與資料處理技術以及新的SwiftUI程序設計技術等,旨在帶領讀者獨立開發一款iOS應用程式。第三部分為應用部分,這部分安排了實戰項目(簡易計算器、生活記事本、中國象棋遊戲),項目的安排由簡到難,旨在全面鍛煉讀者的實際開發能力,使用Swift進行開發實踐。該書還在每一章中插入了模擬面試題,以幫助讀者應對iOS開發職位的面試。
通過《Swift 5從零到精通iOS開發訓練營》的學習,讀者可以輕鬆地掌握使用Swift語言開發一款iOS軟件從理論到實踐的全部技術細節。該書適合使用Swift 開發iOS應用的新手,以及有Objective-C基礎,想學習Swift 的iOS開發人員學習,也適合作為培訓機構與大中專院校移動開發課程的教學用書或面試指導書。

作者簡介

張益琿(網名:琿少)

多年iOS開發經驗,51CTO學院、CSDN學院簽約講師 ,主要從事移動端應用開發,曾就職於國內知名電商網站,從事iOS端應用程式的業務開發與性能優化工作。目前在國內知名社交產品公司從事IM系統的架構設計工作。對iOS開發、React Native和Flutter跨平臺開發及JavaScript前端開發都擁有豐富的經驗。已出版《iOS開發實戰:從零基礎到App Store上架》《React Native全教程:移動端跨平臺應用開發》《iOS開發實戰:從零基礎到上架App Store(第3版)》《Swift從零到精通iOS開發》等多本程序設計著作。開源中國特邀技術專家,發表相關技術博客400餘篇,訪問量100萬餘次。


名人/編輯推薦

本書以讀者能夠完全獨立開發iOS應用為目標構建知識體系,全書分為三部分,各部分說明如下:

第一部分 將為讀者介紹Swift語言的語法,這也是本書後面部分的基礎,共12章,每1章都為讀者介紹Swift語言的一些基礎語法點,包括資料類型、流程控制語句、運算子、函數與閉包、枚舉、結構體、類、屬性與方法、物件構造與析構、內存管理、異常處理、擴展與協定以及Swift語言的新特性等。

第二部分 為iOS開發基礎部分,目前Swift語言應用的主要場景是iOS應用的開發。這部分內容將系統地向讀者介紹iOS 開發技能,包括獨立UI控制項的應用、視圖接口邏輯的開發、動畫與佈局技術、網絡與資料處理技術等。掌握了這些技能,理論上講讀者已經具備了獨立開發一款iOS 應用程式的能力。本部分還介紹了Swift 5新增的SwiftUI技術,SwiftUI技術將使得軟件的接口開發更加高效和容易。

第三部分 為實戰部分,學習程序設計,實戰是必經的一關。本書為讀者安排了3個實戰項目,項目的安排由簡入難,並且各個項目的側重點分佈均勻,力圖全面鍛煉讀者的實際開發能力。

除了循序漸進的技能學習外,在每一章的最後還加入了練習題與模擬面試。練習題可以幫助讀者更好地理解和掌握當前章節所學習的內容,類比面試可以幫助讀者增加實戰經驗,進而提高應用能力。


自2014年Apple在全球開發者大會上發佈了Swift程序設計語言,至今已經經歷了5個大版本的反覆運算,隨著Swift語言的更新與完善,開發者對其的熱情也越來越高,越來越多的公司在開發iOS軟件項目時都將Swift作為最先選擇的程序設計語言。
從第一版Swift語言的發佈開始,我就一直對這門新興的程序設計語言有著濃厚的興趣,幾年前,當我第一次收到清華大學出版社王金柱編輯的邀請,建議寫一本?明新手入門Swift語言iOS開發的工具書時,忐忑的心情至今還記憶猶新。經過再三的考慮與矛盾,我最終決定接下這個任務。當然,不是我對自己的程序設計技能充滿信心,只是覺得把學習過程中遇到的問題、走過的彎路、積累的經驗整理成冊提供給初學者是一件非常有意義的事情。後來經過半年多的努力,《Swift 3從入門到精通》順利出版並且得到了不錯的響應。儘管在寫作的過程中充滿了艱辛,但是看到自己的作品可以給讀者帶來切實的幫助,我也收穫到了額外的喜悅與慰藉。後來,在各位讀者的幫助下,我對書中出現的錯誤與不合理之處進行了多次糾正與優化,《Swift 4從入門到精通》得以與讀者相見。
截至本書完稿,Swift程序設計語言已經更新到5.5版本,其間Swift語言改變了很多,也優化了很多,從1.0到3.0版本,Swfit語言經歷了質的變化,從3.0到5.0版本,Swift語言也迎來了完善與穩定。Swift語言是少有的在短時間內大版本更迭的程序設計語言,這也體現了這門語言不拘一格、大膽創新的特點。本書在《Swift 4從入門到精通》的基礎上,優化了部分過時的內容,新增了Swift 5.5的新特性與SwiftUI技術的內容,更重要的是,總結了《Swift 4從入門到精通》一書讀者的回饋,本書中的內容更加面向應用,並且插入了大量的面試題,並做了試題解析與面試指導。
本書分為三大部分。
第一部(第1~12章)將為讀者介紹Swift語言的一些基礎語法點,包括資料類型、流程控制語句、運算子、函數與閉包、枚舉、結構體、類、屬性與方法、物件構造與析構、內存管理、異常處理、擴展與協定以及Swift語言的新特性等。這12章內容將竭力為讀者介紹Swift語言的語法特點與應用場景,並且每一章後面都附帶有習題,供讀者對本章所學的知識進行測試與應用。
第二部分(第13~18章)為iOS開發基礎部分,目前Swift語言應用的主要場景為iOS應用的開發。這部分內容將系統地向讀者介紹iOS的開發技能,包括獨立UI控制項的應用、視圖接口邏輯的開發、動畫與佈局技術、網絡與資料處理技術等。掌握了這些技能,理論上讀者已經具備獨立開發一款iOS 應用程式的能力。與《Swift 4從入門到精通》一書不同的是,本書中新增了SwiftUI章節,SwiftUI技術將使得軟件的接口開發更加容易。
第三部分(第19~21章)為實戰部分,學習程序設計,實戰是必經的一關。本書為讀者安排了3個實戰項目,項目的安排由簡入難,並且各個項目的側重點分佈均勻,力圖全面鍛煉讀者的實際開發能力。
除了三大部分循序漸進的技能學習外,在每一章的最後都加入了練習題與模擬面試。練習題可以幫助讀者更好地理解和掌握當前章節所學習的內容,類比面試可以幫助讀者增加實戰經驗,進而提高應用能力。
本書是一本從基礎到實戰的Swift程序設計語言學習教程。如果你符合下面的特點,那麼本書就是為你定制的:
(1)對iOS系統軟件發展感興趣,想要從事iOS軟件發展的人員。
(2)對程序設計感興趣,對Swift程序設計語言感興趣的人員。
(3)熟悉Objective-C語言,想要嘗試Swift語言的開發者。
(4)需要進行面試指導的Swift求職者。
此外,本書還提供了全部原始程式碼,以方便讀者上機演練,讀者掃描以下二維碼即可下載:

如果你在下載過程中遇到問題,可發送郵件至booksaga@126.com獲得幫助,郵件標題為“Swift 5從零到精通iOS開發訓練營”。
程序設計是一門動手性很強的技能,因此在學習本書時,讀者首先需要搭建好自己的開發環境(本書第1章有介紹)。在學習書中內容時要對照代碼進行實際操作,並且本書的配套資源中也有書中所引用的全部代碼,讀者在學習時可以進行參考對照。如果讀者沒有良好的Swift語言基礎,在學習本書時,請務必根據章節的順序安排進行學習,只有有了良好的語言基礎,學習後面章節的時候才能得心應手。
本書能夠順利完成,首先要感謝家人對我寫作的支持,感謝朋友們的無私幫助。最重要的是感謝清華大學出版社的王金柱編輯,王金柱編輯耐心地糾正了我許多寫作中的問題,並且給了我許多非常有價值的建議,指導我完成了本書的編寫。沒有他的辛勤付出,本書不會出現在讀者的面前。最後,感謝所有讀者,我們都是程序設計路途中的學習者,你們的努力和認可讓我堅定不移地去做分享知識這件有意義的事,希望我們能夠一起努力,一起前進!

目次

目 錄

第一部分 Swift語言基礎語法

第1章 學習環境的搭建 3

1.1 申請個人AppleID帳號 3

1.2 下載與安裝Xcode開發工具 4

1.3 Xcode開發工具簡介 5

1.4 使用Playground進行Swift代碼演練 8

第2章 量值與基底資料型別 11

2.1 變數與常量 12

2.1.1 變數與常量的定義和使用 12

2.1.2 變數和常量的命名規範 13

2.2 關於注釋 14

2.3 初識基底資料型別 15

2.3.1 數學進制與計算機存儲原理 15

2.3.2 整型數據 16

2.3.3 浮點型數據 17

2.3.4 布林型數據 17

2.4 兩種特殊的基底資料型別 18

2.4.1 元組 18

2.4.2 可選數值型別 19

2.5 為類型取別名 22

2.6 練習及解析 22

2.7 模擬面試 23

第3章 字元、字串與集合類型 25

3.1 字串類型 26

3.1.1 進行字串的構造 26

3.1.2 字串的組合 27

3.2 字元類型 27

3.2.1 字元類型簡介 27

3.2.2 轉義字元 28

3.3 字串類型中的常用方法 29

3.4 集合類型 31

3.4.1 陣列(Array)類型 32

3.4.2 集合(Set)類型 35

3.4.3 字典(Dictionary)類型 37

3.5 練習及解析 40

3.6 模擬面試 42

第4章 基本運算子與程式流程控制 44

4.1 初識運算子 45

4.1.1 設定運算子 45

4.1.2 基本算術運算子 45

4.1.3 基本邏輯運算子 46

4.1.4 比較運算子 47

4.1.5 條件運算子 48

4.2 Swift語言中兩種特殊的運算子 48

4.2.1 空合併運算子 48

4.2.2 區間運算子 49

4.3 迴圈結構 50

4.3.1 for-in迴圈結構 50

4.3.2 while與repeat-while條件迴圈結構 51

4.4 條件選擇與多分支選擇結構 52

4.4.1 if與if-else條件選擇結構 52

4.4.2 switch-case多分支選擇結構 53

4.5 Swift語言中的流程跳躍陳述式 56

4.6 練習及解析 59

4.7 模擬面試 62

第5章 函數與閉包技術 64

5.1 函數的基本應用 65

5.1.1 函數的創建與調用 65

5.1.2 關於函數的參數名 66

5.1.3 函數中參數的預設值、不定數量參數與inout類型參數 68

5.2 函數的類型與函數嵌套 69

5.3 理解閉包結構 71

5.3.1 閉包的語法結構 71

5.3.2 通過實現一個排序函數來深入理解閉包 72

5.4 將閉包作為參數傳遞時的寫法優化 74

5.5 後置閉包、逃逸閉包與自動閉包 75

5.6 練習及解析 77

5.7 模擬面試 80

第6章 高級運算子與枚舉 81

6.1 位運算子與溢出運算子 82

6.1.1 位運算子的應用 82

6.1.2 溢出運算子 83

6.2 運算子的重載與自訂 84

6.2.1 重載運算子 84

6.2.2 自訂運算子 86

6.3 運算子的優先順序與結合性 87

6.4 枚舉類型的創建與應用 89

6.5 枚舉的原始值與相關值 91

6.5.1 枚舉的原始值 91

6.5.2 枚舉的相關值 92

6.5.3 遞迴枚舉 93

6.6 練習及解析 96

6.7 模擬面試 97

第7章 類與結構體 99

7.1 類與結構體的定義 99

7.1.1 結構體 100

7.1.2 類 101

7.2 設計一個交通工具類 103

7.3 開發中類與結構體的應用場景 105

7.4 練習及解析 106

7.5 模擬面試 108

第8章 屬性與方法 110

8.1 存儲屬性與計算屬性 111

8.1.1 存儲屬性的意義及應用 111

8.1.2 計算屬性的意義及應用 113

8.2 屬性監聽器 115

8.3 屬性包裝器 116

8.4 實例屬性與類屬性 119

8.5 實例方法與類方法 119

8.5.1 實例方法的意義與應用 120

8.5.2 類方法 121

8.6 下標方法 122

8.7 練習及解析 124

8.8 模擬面試 124

第9章 構造方法與析構方法 126

9.1 構造方法的設計與使用 126

9.2 指定構造方法與便利構造方法 129

9.3 構造方法的繼承關係 131

9.4 構造方法的安全性檢查 132

9.5 可失敗構造方法與必要構造方法 134

9.6 析構方法 135

9.7 練習與解析 135

9.8 模擬面試 137

第10章 內存管理與異常處理 138

10.1 自動引用計數 139

10.2 迴圈引用及其解決方法 141

10.3 閉包中的迴圈引用 146

10.4 異常的拋出與傳遞 147

10.5 異常的捕獲與處理 148

10.6 延時執行結構 149

10.7 練習與解析 150

10.8 模擬面試 151

第11章 類型轉換、泛型、擴展與協定 152

11.1 類型檢查與轉換 153

11.1.1 Swift語言中的類型檢查 153

11.1.2 Swift語言中的類型轉換 154

11.2 Any與AnyObject類型 155

11.3 泛型 156

11.3.1 初識泛型 156

11.3.2 對泛型進行約束 158

11.4 擴展與協定 160

11.4.1 使用擴展對已經存在的資料類型進行補充 160

11.4.2 協定的特點與應用 162

11.4.3 協議與擴展的結合 165

11.5 模擬面試 165

第12章 Swift的高級特性 167

12.1 內存安全檢查(獨佔存取權限) 167

12.2 關聯類型可以添加where約束子句 170

12.3 增強字串和區間運算子的功能 170

12.4 動態成員查找與動態方法調用 172

12.5 泛型與協定功能的增強 173

12.6 模擬面試 175

第二部分 iOS開發基礎

第13章 UI控制項與邏輯交互(1) 179

13.1 iOS項目工程簡介 180

13.1.1 創建iOS項目工程 180

13.1.2 運行第一個iOS程式 181

13.2 標籤控制項——UILabel 184

13.2.1 使用代碼創建一個UILabel控制項 184

13.2.2 自訂UILable控制項的展示效果 185

13.2.3 定義更加豐富多彩的UILabel控制項 186

13.3 按鈕控制項——UIButton 188

13.3.1 創建UIButton按鈕控制項 188

13.3.2 為按鈕添加觸發事件 190

13.3.3 為UIButton添加自訂圖片 191

13.4 圖片顯示控制項——UIImageView 192

13.4.1 圖片類UIImage 193

13.4.2 使用UIImageView進行圖片的展示 193

13.4.3 使用UIImageView播放動畫 194

13.5 文本輸入框控制項——UITextField 196

13.5.1 創建文本輸入框控制項 196

13.5.2 為UITextField設置左右視圖 198

13.5.3 UITextField控制項的代理方法 199

13.6 開關控制項UISwitch 201

13.7 分頁控制器——UIPageControl 203

13.8 分部控制器——UISegmentedControl 204

13.8.1 創建分佈控制器控制項 204

13.8.2 UISegmentedControl控制項中按鈕的增、刪、改操作 205

13.8.3 關於UISegmentedControl控制項中按鈕的尺寸問題 206

13.9 模擬面試 207

第14章 UI控制項與邏輯交互(2) 208

14.1 滑塊控制項UISlider 208

14.1.1 UISlider控制項的創建與設置 209

14.1.2 UISlider控制項的外觀自訂與使用者交互 209

14.2 活動指示器控制項UIActivityIndicatorView 211

14.3 進度條控制項UIProgressView 212

14.4 步進器控制項UIStepper 213

14.5 選擇器控制項UIPickerView 215

14.6 時間選擇器控制項UIDataPicker 219

14.7 搜索欄控制項UISearchBar 221

14.7.1 創建UISearchBar控制項 221

14.7.2 UISearchBar控制項的更多功能按鈕 224

14.7.3 UISearchBar控制項的附件視圖 225

14.7.4 UISearchBarDelegate協議詳解 226

14.8 模擬面試 227

第15章 視圖控制器與高級UI視圖控制項 229

15.1 應用程式的接口管理器UIViewController 230

15.1.1 關於MVC設計模式 230

15.1.2 UIViewController的生命週期 231

15.1.3 UIViewController之間的切換與傳值 232

15.2 導航視圖控制器UINavigationController 238

15.2.1 理解導航結構 238

15.2.2 搭建使用導航結構的項目 238

15.2.3 對巡覽列進行自訂設置 240

15.2.4 使用導航進行視圖控制器的切換管理 243

15.3 標籤欄控制器UITabBarController 244

15.3.1 創建以UITabBarController為項目結構的工程 244

15.3.2 對UITabBarController中的標籤進行自訂配置 247

15.3.3 標籤欄上標籤的溢出與排序功能 249

15.4 警告視圖控制器的應用 251

15.4.1 認識UIAlertAction類 251

15.4.2 使用UIAlertController創建警告框彈窗 252

15.4.3 使用UIAlertController創建抽屜彈窗 254

15.5 網頁視圖的應用 254

15.5.1 網頁視圖UIWebView 255

15.5.2 認識WebKit框架 258

15.5.3 使用WKWebViewConfiguration對網頁視圖進行配置 259

15.5.4 WKWebView中重要的屬性和方法解析 261

15.5.5 關於WKUIDelegate協議 262

15.6 滾動視圖UIScrollView的應用 263

15.6.1 創建UIScrollView滾動視圖 263

15.6.2 UIScrollViewDelegate協議介紹 265

15.6.3 UIScrollView的縮放操作 266

15.7 列表視圖UITableView的應用 267

15.7.1 創建UITableView列表 267

15.7.2 進行資料載體UITableViewCell的自訂 271

15.7.3 UITableView的編輯模式 274

15.7.4 為UITableView添加索引欄 277

15.8 集合視圖UICollectionView的應用 279

15.8.1 使用UICollectionView實現簡單的九宮格佈局 279

15.8.2 使用FlowLayout進行更加靈活的九宮格佈局 281

15.8.3 實現炫酷的瀑布流佈局 283

15.9 模擬面試 286

第16章 動畫與接口佈局技術 288

16.1 使用UIView層動畫實現屬性漸變效果 289

16.2 通過GIF檔播放動畫 294

16.3 iOS開發中的CoreAnimation核心動畫技術 297

16.4 炫酷的粒子效果 305

16.5 Autolayout自動佈局技術 309

16.6 使用Autolayout創建自我調整高度的UITextView輸入框 318

16.7 模擬面試 319

第17章 網絡與資料存儲技術 321

17.1 獲取互聯網上公開API所提供的資料 321

17.2 在iOS開發中進行網絡資料請求 324

17.3 使用UserDefaults進行簡單資料的持久化存儲 327

17.4 iOS開發中的歸檔技術應用 331

17.5 資料庫在iOS開發中的應用 334

17.6 使用CoreData框架進行資料管理 344

17.7 模擬面試 348

第18章 SwiftUI技術 349

18.1 視圖的佈局方式 349

18.2 SwiftUI中的列表視圖 354

18.3 使用導航進行頁面跳轉 357

18.4 處理用戶交互 360

18.5 SwiftUI自訂繪製 363

18.6 SwiftUI中的動畫技術 368

18.7 模擬面試 370

第三部分 實戰

第19章 實戰一:簡易計算器 373

19.1 計算器按鍵與操作面板的封裝 373

19.2 計算器顯示板輸入顯示的邏輯開發 377

19.3 計算器計算邏輯的設計 381

19.4 為應用添加圖示與啟動頁 384

第20章 實戰二:點滴生活記事本 386

20.1 項目工程的搭建 386

20.2 主頁記事分組視圖的開發 389

20.3 添加分組功能的開發 392

20.4 資料庫引入與記事分組信息的持久化 394

20.5 記事清單接口的搭建 396

20.6 新建記事功能的開發 399

20.7 更新記事與刪除記事功能的開發 406

第21章 實戰三:《中國象棋》遊戲 411

21.1 項目工程的搭建與音訊模組的開發 411

21.2 《中國象棋》棋子控制項的開發 415

21.3 《中國象棋》棋盤控制項的開發 418

21.4 “兵”與“卒”行棋邏輯的開發 422

21.5 “將”與“士”相關棋子行棋邏輯的開發 429

21.6 “象”與“馬”相關棋子行棋邏輯的開發 432

21.7 “車”與“炮”棋子行棋邏輯的開發 437

21.8 勝負判定邏輯開發與遊戲功能完善 441

21.9 拆分冗長的checkCanMove()方法 446

附錄A CocoaPods庫管理工具的應用 454

附錄B 關鍵概念檢索表 458


您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 621
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區