注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)Swift從入門到精通

Swift從入門到精通

Swift從入門到精通

定 價:¥79.00

作 者: 張益琿
出版社: 清華大學(xué)出版社
叢編項: 移動開發(fā)叢書
標 簽: 暫缺

ISBN: 9787302469209 出版時間: 2017-05-01 包裝:
開本: 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書由專業(yè)的iOS開發(fā)工程師根據(jù)Swift 3精心編撰,兼?zhèn)浜诵恼Z法、編程技巧與應(yīng)用實踐3大主題。*部分從Xcode開發(fā)工具及Swift學(xué)習環(huán)境的搭建開始,重點介紹Swift 3的語言特性和應(yīng)用場景,并提供了大量編程練習,幫助讀者盡快掌握Swift語言的精髓。第二部分介紹Swift開發(fā)iOS應(yīng)用的基本技能,包括獨立UI控件的應(yīng)用、視圖界面邏輯的開發(fā)、動畫與布局技術(shù)、網(wǎng)絡(luò)與數(shù)據(jù)處理技術(shù)等,旨在帶領(lǐng)讀者掌握獨立開發(fā)一款iOS 應(yīng)用程序的能力。第三部分為應(yīng)用部分,這部分安排了3個實戰(zhàn)項目(簡易計算器、生活記事本、中國象棋游戲),項目的安排有簡到難,旨在全面鍛煉讀者的實際開發(fā)能力,使用Swift進行開發(fā)實踐。通過本書的學(xué)習,讀者可以輕松地掌握使用Swift語言開發(fā)一款iOS軟件從理論到實踐的全部技術(shù)細節(jié)。本書適合使用Swift 3開發(fā)iOS應(yīng)用的新手,有Objective-C基礎(chǔ)想學(xué)習Swift 3的iOS開發(fā)人員,也很適合用作培訓(xùn)機構(gòu)與大中專院校移動開發(fā)課程的教學(xué)參考書。

作者簡介

  張益琿 軟件開發(fā)工程師,擁有多年iOS開發(fā)經(jīng)驗,曾開發(fā)iOS平臺系列——游戲瘋狂越獄1~2、應(yīng)用物通配貨軟件、VIPExam考試庫、證券財經(jīng)軟件等,現(xiàn)就職于中國唯品會。

圖書目錄

第1部分  Swift語言基礎(chǔ)
第1章  學(xué)習環(huán)境的搭建 3
1.1  申請個人AppleID賬號 3
1.2  下載與安裝Xcode開發(fā)工具 4
1.3  Xcode開發(fā)工具簡介 5
1.4  使用Playground進行Swift代碼演練 9
第2章  量值與基本數(shù)據(jù)類型 10
2.1  變量與常量 10
2.1.1  變量與常量的定義和使用 11
2.1.2  變量和常量的命名規(guī)范 12
2.2  關(guān)于注釋 13
2.3  初識基本數(shù)據(jù)類型 13
2.3.1  數(shù)學(xué)進制與計算機存儲原理 14
2.3.2  整型數(shù)據(jù) 14
2.3.3  浮點型數(shù)據(jù) 15
2.3.4  布爾型數(shù)據(jù) 16
2.4  兩種特殊的基本數(shù)據(jù)類型 16
2.4.1  元組 16
2.4.2  可選值類型 17
2.5  為類型取別名 20
2.6  練習及解析 20
第3章  字符、字符串與集合類型 21
3.1  字符串類型 21
3.1.1  進行字符串的構(gòu)造 21
3.1.2  字符串的組合 22
3.2  字符類型 23
3.2.1  字符類型簡介 23
3.2.2  轉(zhuǎn)義字符 24
3.3  字符串類型中的常用方法 24
3.4  集合類型 26
3.4.1  Array數(shù)組類型 27
3.4.2  Set集合類型 30
3.4.3  Dictionary字典類型 33
3.5  練習及解析 35
第4章  基本運算符與程序流程控制 38
4.1  初識運算符 38
4.1.1  賦值運算符 39
4.1.2  基本算術(shù)運算符 39
4.1.3  基本邏輯運算符 40
4.1.4  比較運算符 41
4.1.5  條件運算符 41
4.2  Swift語言中兩種特殊的運算符 42
4.2.1  空合并運算符 42
4.2.2  區(qū)間運算符 43
4.3  循環(huán)結(jié)構(gòu) 43
4.3.1  for-in循環(huán)結(jié)構(gòu) 43
4.3.2  while與repeat-while條件循環(huán)結(jié)構(gòu) 44
4.4  條件選擇與多分支選擇結(jié)構(gòu) 46
4.4.1  if與if-else條件選擇結(jié)構(gòu) 46
4.4.2  switch-case多分支選擇結(jié)構(gòu) 46
4.5  Swift語言中的流程跳轉(zhuǎn)語句 49
4.6  練習及解析 52
第5章  函數(shù)與閉包技術(shù) 56
5.1  函數(shù)的基本應(yīng)用 56
5.1.1  函數(shù)的創(chuàng)建與調(diào)用 57
5.1.2  關(guān)于函數(shù)的參數(shù)名 58
5.1.3  函數(shù)中參數(shù)的默認值、不定數(shù)量參數(shù)與inout類型參數(shù) 59
5.2  函數(shù)的類型與函數(shù)嵌套 61
5.3  理解閉包結(jié)構(gòu) 63
5.3.1  閉包的語法結(jié)構(gòu) 63
5.3.2  通過實現(xiàn)一個排序函數(shù)來深入理解閉包 63
5.4  將閉包作為參數(shù)傳遞時的寫法優(yōu)化 66
5.5  后置閉包、逃逸閉包與自動閉包 67
5.6  練習及解析 68
第6章  高級運算符與枚舉 72
6.1  位運算符與溢出運算符 72
6.1.1  位運算符的應(yīng)用 72
6.1.2  溢出運算符 74
6.2  運算符的重載與自定義 74
6.2.1  重載運算符 74
6.2.2  自定義運算符 76
6.3  運算符的優(yōu)先級與結(jié)合性 77
6.4  枚舉類型的創(chuàng)建與應(yīng)用 79
6.5  枚舉的原始值與相關(guān)值 81
6.5.1  枚舉的原始值 81
6.5.2  枚舉的相關(guān)值 82
6.5.3  遞歸枚舉 83
6.6  練習及解析 86
第7章  類與結(jié)構(gòu)體 88
7.1  類與結(jié)構(gòu)體的定義 88
7.1.1  結(jié)構(gòu)體 88
7.1.2  類 90
7.2  設(shè)計一個交通工具類 91
7.3  開發(fā)中類與結(jié)構(gòu)體的應(yīng)用場景 94
7.4  練習及解析 95
第8章  屬性與方法 97
8.1  存儲屬性與計算屬性 97
8.1.1  存儲屬性的意義及應(yīng)用 97
8.1.2  計算屬性的意義及應(yīng)用 100
8.2  屬性監(jiān)聽器 102
8.3  實例屬性與類屬性 103
8.4  實例方法與類方法 104
8.4.1  實例方法的意義與應(yīng)用 104
8.4.2  類方法 105
8.5  下標方法 106
8.6  練習及解析 108
第9章  構(gòu)造方法與析構(gòu)方法 109
9.1  構(gòu)造方法的設(shè)計與使用 109
9.2  指定構(gòu)造方法與便利構(gòu)造方法 112
9.3  構(gòu)造方法的繼承關(guān)系 113
9.4  構(gòu)造方法的安全性檢查 115
9.5  可失敗構(gòu)造方法與必要構(gòu)造方法 116
9.6  析構(gòu)方法 117
9.7  練習及解析 118
第10章  內(nèi)存管理與異常處理 120
10.1  自動引用計數(shù) 120
10.2  循環(huán)引用及其解決方法 123
10.3  閉包中的循環(huán)引用 128
10.4  異常的拋出與傳遞 129
10.5  異常的捕獲與處理 130
10.6  延時執(zhí)行結(jié)構(gòu) 131
10.7  練習及解析 132
第11章  類型轉(zhuǎn)換、泛型、擴展與協(xié)議 133
11.1  類型檢查與轉(zhuǎn)換 133
11.1.1  Swift語言中的類型檢查 134
11.1.2  Swift語言中的類型轉(zhuǎn)換 134
11.2  Any與AnyObject類型 135
11.3  泛型 137
11.3.1  初識泛型 137
11.3.2  對泛型進行約束 139
11.4  擴展與協(xié)議 141
11.4.1  使用擴展對已經(jīng)存在的數(shù)據(jù)類型進行補充 141
11.4.2  協(xié)議的特點與應(yīng)用 143
11.4.3  協(xié)議與擴展的結(jié)合 146
第2部分  iOS開發(fā)基礎(chǔ)
第12章  UI控件與邏輯交互(1) 148
12.1  iOS項目工程簡介 148
12.1.1  創(chuàng)建iOS項目工程 148
12.1.2  運行個iOS程序 150
12.2  標簽控件——UILabel 151
12.2.1  使用代碼創(chuàng)建一個UILabel控件 152
12.2.2  自定義UILable控件的展示效果 152
12.2.3  定義更加豐富多彩的UILabel控件 154
12.3  按鈕控件——UIButton 155
12.3.1  創(chuàng)建UIButton按鈕控件 155
12.3.2  為按鈕添加觸發(fā)事件 157
12.3.3  為UIButton添加自定義圖片 158
12.4  圖片顯示控件——UIImageView 160
12.4.1  圖片類UIImage 160
12.4.2  使用UIImageView進行圖片的展示 160
12.4.3  使用UIImageView播放動畫 161
12.5  文本輸入框控件——UITextField 162
12.5.1  創(chuàng)建文本輸入框控件 162
12.5.2  為UITextField設(shè)置左右視圖 164
12.5.3  UITextField控件的代理方法 165
12.6  開關(guān)控件UISwitch 168
12.7  分頁控制器——UIPageControl 169
12.8  分部控制器——UISegmentedControl 170
12.8.1  創(chuàng)建分布控制器控件 170
12.8.2  UISegmentedControl控件中按鈕的增刪改操作 171
12.8.3  關(guān)于UISegmentedControl控件中按鈕的尺寸問題 172
第13章  UI控件與邏輯交互(2) 173
13.1  滑塊控件UISlider 173
13.1.1  UISlider控件的創(chuàng)建與設(shè)置 173
13.1.2  UISlider控件的外觀自定義與用戶交互 174
13.2  活動指示器UIActivityIndicatorView 176
13.3  進度條控件UIProgressView 177
13.4  步進器UIStepper 178
13.5  選擇器控件UIPickerView 180
13.6  時間選擇器UIDataPicker 183
13.7  搜索欄控件UISearchBar 186
13.7.1  創(chuàng)建UISearchBar控件 186
13.7.2  UISearchBar控件的更多功能按鈕 188
13.7.3  UISearchBar控件的附件視圖 189
13.7.4  UISearchBarDelegate協(xié)議詳解 190
第14章  視圖控制器與高級UI視圖控件 192
14.1  應(yīng)用程序的界面管理器UIViewController 192
14.1.1  關(guān)于MVC設(shè)計模式 192
14.1.2  UIViewController的生命周期 193
14.1.3  UIViewController之間的切換與傳值 195
14.2  導(dǎo)航視圖控制器UINavigationController 200
14.2.1  理解導(dǎo)航結(jié)構(gòu) 201
14.2.2  搭建使用導(dǎo)航結(jié)構(gòu)的項目 201
14.2.3  對導(dǎo)航欄進行自定義設(shè)置 203
14.2.4  使用導(dǎo)航進行視圖控制器的切換管理 205
14.3  標簽欄控制器UITabBarController 207
14.3.1  創(chuàng)建以UITabBarController為項目結(jié)構(gòu)工程 207
14.3.2  對UITabBarController中的標簽進行自定義配置 210
14.3.3  標簽欄上標簽的溢出與排序功能 212
14.4  警告視圖控制器的應(yīng)用 214
14.4.1  認識UIAlertAction類 214
14.4.2  使用UIAlertController創(chuàng)建警告框彈窗 215
14.4.3  使用UIAlertController創(chuàng)建抽屜彈窗 217
14.5  網(wǎng)頁視圖的應(yīng)用 218
14.5.1  網(wǎng)頁視圖UIWebView 218
14.5.2  認識WebKit框架 221
14.5.3  使用WKWebViewConfiguration對網(wǎng)頁視圖進行配置 222
14.5.4  WKWebView中重要屬性和方法解析 225
14.5.5  關(guān)于WKUIDelegate協(xié)議 226
14.6  滾動視圖UIScrollView的應(yīng)用 227
14.6.1  創(chuàng)建UIScrollView滾動視圖 227
14.6.2  UIScrollViewDelegate協(xié)議介紹 228
14.6.3  UIScrollView的縮放操作 230
14.7  列表視圖UITableView的應(yīng)用 231
14.7.1  創(chuàng)建UITableView列表 231
14.7.2  進行數(shù)據(jù)載體UITableViewCell的自定義 235
14.7.3  UITableView的編輯模式 238
14.7.4  為UITableView添加索引欄 242
14.8  集合視圖UICollectionView的應(yīng)用 243
14.8.1  使用UICollectionView實現(xiàn)簡單的九宮格布局 243
14.8.2  使用FlowLayout進行更加靈活的九宮格布局 245
14.8.3  實現(xiàn)炫酷的瀑布流布局 247
14.9  分頁控制器UIPageViewController的應(yīng)用 251
14.9.1  創(chuàng)建一個UIPageViewController工程 251
14.9.2  關(guān)于UIPageViewControllerDelegate的更多應(yīng)用 255
第15章  動畫與界面布局技術(shù) 259
15.1  使用UIView層動畫實現(xiàn)屬性漸變效果 259
15.1.1  UIView層的屬性過渡動畫 259
15.1.2  UIView層的轉(zhuǎn)場動畫 263
15.2  通過GIF文件播放動畫 265
15.2.1  使用原生的UIImageView來播放GIF動態(tài)圖 265
15.2.2  使用UIWebView來進行GIF動態(tài)圖的播放 267
15.3  iOS開發(fā)中的CoreAnimation核心動畫技術(shù) 268
15.3.1  初識CoreAnimation框架 268
15.3.2  錨點對視圖幾何屬性的影響 268
15.3.3  幾種常用的CALayer子類介紹 269
15.3.4  CoreAnimation框架中的屬性動畫介紹 273
15.3.5  CoreAnimation框架中的轉(zhuǎn)場動畫與組合動畫 274
15.4  炫酷的粒子效果 276
15.4.1  粒子發(fā)射引擎與粒子單元 276
15.4.2  創(chuàng)建火焰粒子效果 279
15.5  Autolayout自動布局技術(shù) 281
15.5.1  使用storyboard或者xib文件進行界面的自動布局 281
15.5.2  進行視圖間的約束布局 284
15.5.3  使用原生代碼進行Autolayout自動布局 285
15.5.4  使用第三方框架SnapKit進行Autolayout自動布局 288
15.6  使用Autolayout創(chuàng)建自適應(yīng)高度的 UITextView輸入框 289
第16章  網(wǎng)絡(luò)與數(shù)據(jù)存儲技術(shù) 292
16.1  獲取互聯(lián)網(wǎng)上公開API所提供的數(shù)據(jù) 292
16.1.1  注冊APIStore會員 292
16.1.2  進行API接口測試 293
16.1.3  關(guān)于JSON數(shù)據(jù)格式 294
16.2  在iOS開發(fā)中進行網(wǎng)絡(luò)數(shù)據(jù)請求 295
16.2.1  關(guān)于HTTP網(wǎng)絡(luò)請求協(xié)議 295
16.2.2  使用URLSesstion進行網(wǎng)絡(luò)請求 296
16.3  使用UserDefaults進行簡單數(shù)據(jù)的持久化存儲 298
16.3.1  使用UserDefaults與Plist文件進行常見類型數(shù)據(jù)的存儲 298
16.3.2  使用Plist文件進行數(shù)據(jù)持久化處理 300
16.4  iOS開發(fā)中的歸檔技術(shù)應(yīng)用 302
16.4.1  對簡單數(shù)據(jù)類型的歸檔操作 302
16.4.2  對自定義數(shù)據(jù)類型進行歸檔操作 304
16.5  數(shù)據(jù)庫在iOS開發(fā)中的應(yīng)用 305
16.5.1  操作數(shù)據(jù)庫常用語句 305
16.5.2  可視化數(shù)據(jù)庫管理工具MesaSQLite的簡單應(yīng)用 308
16.5.3  libsqlite3數(shù)據(jù)庫操作庫簡介 310
16.5.4  在iOS工程中調(diào)用libsqlite3庫操作數(shù)據(jù)庫 312
16.6  使用CoreData框架進行數(shù)據(jù)管理 315
16.6.1  使用CoreData框架進行數(shù)據(jù)模型設(shè)計 315
16.6.2  使用CoreData進行數(shù)據(jù)的添加與查詢操作 317
第3部分  項目實戰(zhàn)
第17章  實戰(zhàn)一:簡易計算器 321
17.1  計算器按鍵與操作面板的封裝 321
17.2  計算器顯示板輸入顯示的邏輯開發(fā) 324
17.3  計算器計算邏輯的設(shè)計 329
17.4  為應(yīng)用添加圖標與啟動頁 332
第18章  實戰(zhàn)二:點滴生活記事本 334
18.1  項目工程的搭建 334
18.2  主頁記事分組視圖的開發(fā) 337
18.3  添加分組功能的開發(fā) 340
18.4  數(shù)據(jù)庫引入與記事分組信息的持久化 342
18.5  記事列表界面的搭建 346
18.6  新建記事功能的開發(fā) 349
18.7  更新記事與刪除記事功能的開發(fā) 355
第19章  實戰(zhàn)三:《中國象棋》游戲 359
19.1  項目工程的搭建與音頻模塊的開發(fā) 359
19.2  《中國象棋》棋子控件的開發(fā) 363
19.3  《中國象棋》棋盤控件的開發(fā) 366
19.4  “兵”與“卒”行棋邏輯的開發(fā) 371
19.5  “將”與“士”相關(guān)棋子行棋邏輯的開發(fā) 379
19.6  “象”與“馬”相關(guān)棋子行棋邏輯的開發(fā) 381
19.7  “車”與“炮”棋子行棋邏輯的開發(fā) 387
19.8  勝負判定邏輯開發(fā)與游戲功能完善 392
19.9  拆分冗長的checkCanMove()方法 398
附錄A  CocoaPods庫管理工具的應(yīng)用 406
附錄B  關(guān)鍵概念檢索表 409

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號