《iOS編程》榮獲Jolt生產(chǎn)力大獎(jiǎng)。第5版更新了iOS9、Xcode7、Swift的內(nèi)容。全書(shū)涵蓋了開(kāi)發(fā)iOS應(yīng)用的方方面面。從Swift基礎(chǔ)知識(shí)到新增加的語(yǔ)言特性;從AppKit庫(kù)到常見(jiàn)的Cocoa設(shè)計(jì)模式;從Xcode技巧到Instrumen tst等。如果讀者剛接觸iOS編程,閱讀本書(shū)前兩章可以快速入門(mén)。如果讀者已經(jīng)有iOS編程經(jīng)驗(yàn),閱讀本書(shū)可以拾遺補(bǔ)缺。
本書(shū)有兩個(gè)特點(diǎn):、涵蓋iOS應(yīng)用開(kāi)發(fā)必備知識(shí):從Swift基礎(chǔ)知識(shí)到新語(yǔ)言特性,從AppKit庫(kù)到常見(jiàn)的Cocoa設(shè)計(jì)模式,從Xcode技巧到Instruments,不一而足。第二、指導(dǎo)讀者以正確的方法解決問(wèn)題:Swift的習(xí)慣約定有哪些(例如命名約定,內(nèi)存管理約定),創(chuàng)建子類時(shí)如何處理初始化方法,Cocoa的常見(jiàn)設(shè)計(jì)模式有哪些,如何選擇數(shù)據(jù)保存方法等。
Christian Keur是Big Nerd Ranch的高級(jí)講師和軟件工程師,負(fù)責(zé)編寫(xiě)B(tài)ig Nerd Ranch的“iOS新手培訓(xùn)課程”教材。該教材廣受好評(píng),是本書(shū)的原型。Christian畢業(yè)于美國(guó)佐治亞理工學(xué)院計(jì)算機(jī)科學(xué)系,目前居住在亞特蘭大。
Aaron Hillegass是Big Nerd Ranch的創(chuàng)始人之一,曾就職于NeXT公司和Apple公司,他擁有近20年的Cocoa、iOS開(kāi)發(fā)與教學(xué)經(jīng)驗(yàn)。Aaron與他人合著了《Mac OS X編程》。
第1章 及時(shí)個(gè)簡(jiǎn)單的iOS應(yīng)用 1
1.1 創(chuàng)建Xcode項(xiàng)目 2
1.2 模型-視圖-控制器 5
1.3 設(shè)計(jì)Quiz 6
1.4 Interface Builder 7
1.5 創(chuàng)建界面 8
1.6 創(chuàng)建模型對(duì)象 21
1.7 編譯完成的應(yīng)用 23
1.8 應(yīng)用圖標(biāo) 24
1.9 啟動(dòng)畫(huà)面 26
第2章 Swift語(yǔ)言 27
2.1 Swift的數(shù)據(jù)類型 27
2.2 使用標(biāo)準(zhǔn)類型 28
2.3 可選 35
2.4 循環(huán)和字符串補(bǔ)全 37
2.5 枚舉和Switch 39
2.6 查閱Apple的Swift文檔 40
第3章 視圖與視圖層次結(jié)構(gòu) 41
3.1 視圖基礎(chǔ) 42
3.2 視圖層次結(jié)構(gòu) 42
3.3 創(chuàng)建新項(xiàng)目 44
3.4 視圖及Frame 45
3.5 自動(dòng)布局系統(tǒng) 55
3.6 初級(jí)練習(xí):更多自動(dòng)布局練習(xí) 64
第4章 文本輸入與委托 65
4.1 文本編輯 65
4.2 實(shí)現(xiàn)溫度轉(zhuǎn)換 73
4.3 委托 76
4.3 初級(jí)練習(xí):禁止輸入字母 79
第5章 視圖控制器 81
5.1 視圖控制器的視圖 82
5.2 設(shè)置初始視圖控制器 82
5.3 UITabBarController 85
5.4 加載以及展示視圖 90
5.5 與視圖控制器及其視圖交互 92
5.6 中級(jí)練習(xí):夜間模式 93
5.7 深入學(xué)習(xí):高清顯示 93
第6章 用代碼實(shí)現(xiàn)視圖 95
6.1 使用代碼創(chuàng)建視圖 96
6.2 代碼實(shí)現(xiàn)約束 97
6.3 代碼實(shí)現(xiàn)事件 104
6.4 初級(jí)練習(xí):再添加一個(gè)Tab 106
6.5 中級(jí)練習(xí):顯示用戶位置 106
6.6 高級(jí)練習(xí):顯示地圖大頭針 106
6.7 深入學(xué)習(xí):NSAutoresizingMaskLayoutConstraint 106
第7章 本地化 109
7.1 國(guó)際化 110
7.2 本地化 120
7.3 初級(jí)練習(xí):另外一種本地化 126
7.4 深入學(xué)習(xí):NSBundle在國(guó)際化中扮演的角色 126
7.5 深入學(xué)習(xí):導(dǎo)入以及導(dǎo)出XLIFF 128
第8章 控制動(dòng)畫(huà) 129
8.1 基礎(chǔ)動(dòng)畫(huà) 130
8.2 另一個(gè)標(biāo)簽 132
8.3 動(dòng)畫(huà)完成 135
8.4 對(duì)約束作動(dòng)畫(huà) 135
8.5 時(shí)間方法 139
8.6 初級(jí)練習(xí):spring動(dòng)畫(huà) 141
8.7 中級(jí)練習(xí):Layout Guides 141
第9章 UITableView與UITableViewController 143
9.1 編寫(xiě)Homepwner應(yīng)用 144
9.2 UITableViewController 145
9.3 創(chuàng)建Item類 147
9.4 UITableView數(shù)據(jù)源 149
9.5 UITableViewCells 153
9.6 內(nèi)容縮進(jìn) 158
9.7 初級(jí)練習(xí):多個(gè)分組 159
9.8 中級(jí)練習(xí):固定的行 160
9.9 高級(jí)練習(xí):自定義UITableView 160
第10章 編輯UITableView 161
10.1 編輯模式 161
10.2 添加行 166
10.3 刪除行 168
10.4 移動(dòng)行 169
10.5 顯示提示窗口 170
10.6 設(shè)計(jì)模式 173
10.7 初級(jí)練習(xí):修改刪除按鈕的標(biāo)題 174
10.8 中級(jí)練習(xí):禁止調(diào)整順序 174
10.9 高級(jí)練習(xí):真正地禁止調(diào)整順序 174
第11章 創(chuàng)建UITableViewCell子類 175
11.1 創(chuàng)建ItemCell 176
11.2 添加并關(guān)聯(lián)ItemCell的屬性 178
11.3 使用ItemCell 179
11.4 動(dòng)態(tài)計(jì)算高度 180
11.5 動(dòng)態(tài)類型 181
11.6 初級(jí)練習(xí):UITableViewCell的顏色 184
第12章 UIStackView 185
12.1 使用UIStackView 186
12.2 Segues 194
12.3 綁定內(nèi)容 195
12.4 傳遞數(shù)據(jù) 200
12.5 初級(jí)練習(xí):更多的UIStackView 201
第13章 UINavigationController 203
13.1 UINavigationController 204
13.2 使用UINavigationController導(dǎo)航 209
13.3 視圖的出現(xiàn)和消失 210
13.4 隱藏鍵盤(pán) 211
13.5 UINavigationBar 215
13.6 初級(jí)練習(xí):顯示數(shù)字鍵盤(pán) 220
13.7 中級(jí)練習(xí):自定義UITextField 220
13.8 高級(jí)練習(xí):添加更多UIViewController 220
第14章 相機(jī) 221
14.1 通過(guò)UIImageView對(duì)象顯示圖片 222
14.2 通過(guò)UIImagePickerController拍攝照片 226
14.3 創(chuàng)建ImageStore 231
14.4 讓UIViewController可以訪問(wèn)ImageStore 232
14.5 創(chuàng)建并使用鍵 233
14.6 使用ImageStore 235
14.7 初級(jí)練習(xí):編輯圖片 236
14.8 中級(jí)練習(xí):刪除圖片 237
14.9 高級(jí)練習(xí):Camera Overlay 237
14.10 深入學(xué)習(xí):導(dǎo)航實(shí)現(xiàn)文件 237
第15章 保存、讀取與應(yīng)用狀態(tài) 241
15.1 固化 242
15.2 應(yīng)用沙盒 245
15.3 NSKeyedArchiver與NSKeyedUnarchiver 248
15.4 應(yīng)用狀態(tài)與狀態(tài)切換 251
15.5 通過(guò)NSData將數(shù)據(jù)寫(xiě)入文件 254
15.6 錯(cuò)誤處理 257
15.7 初級(jí)練習(xí):PNG 259
15.8 深入學(xué)習(xí):應(yīng)用狀態(tài)切換 259
15.9 深入學(xué)習(xí):文件系統(tǒng)讀/寫(xiě) 261
15.10 深入學(xué)習(xí):應(yīng)用程序包 263
第16章 Size Classes 265
16.1 定制Size Classes 266
16.2 初級(jí)練習(xí):垂直排列UITextField和UILabel 272
第17章 觸摸事件和UIResponder 273
17.1 觸摸事件 274
17.2 創(chuàng)建TouchTracker應(yīng)用 275
17.3 創(chuàng)建Line結(jié)構(gòu)體 276
17.4 創(chuàng)建DrawView 278
17.5 使用DrawView畫(huà)圖 279
17.6 處理觸摸事件并創(chuàng)建線條對(duì)象 280
17.7 @IBInspectable 285
17.8 中級(jí)練習(xí):顏色 287
17.9 高級(jí)練習(xí):圓圈 287
17.10 深入學(xué)習(xí):響應(yīng)對(duì)象鏈 287
17.11 深入學(xué)習(xí):UIControl 289
第18章 UIGestureRecognizer與UIMenuController 291
18.1 UIGestureRecognizer子類 292
18.2 使用UITapGestureRecognizer檢測(cè)點(diǎn)擊 292
18.3 多個(gè)UIGestureRecognizer 294
18.4 UIMenuController 297
18.5 更多UIGestureRecognizer 299
18.6 深入學(xué)習(xí)UIGestureRecognizer 304
18.7 中級(jí)練習(xí):神奇的線條 305
18.8 高級(jí)練習(xí):速度和大小 305
18.9 鉑金挑戰(zhàn):顏色 305
18.10 深入學(xué)習(xí):UIMenuController與UIResponderStandardEditActions 306
第19章 網(wǎng)絡(luò)服務(wù) 307
19.1 開(kāi)始Photorama應(yīng)用 308
19.2 創(chuàng)建URL 309
19.3 發(fā)送請(qǐng)求 314
19.4 Photo模型 317
19.5 JSON數(shù)據(jù) 318
19.6 下載并顯示圖片數(shù)據(jù) 326
19.7 主線程 329
19.8 初級(jí)練習(xí):打印返回信息 331
19.9 深入學(xué)習(xí):HTTP 331
第20章 UICollectionView 333
20.1 顯示網(wǎng)格 334
20.2 UICollection數(shù)據(jù)源 336
20.3 自定義布局 339
20.4 創(chuàng)建自定義的UICollectionViewCell 341
20.5 下載圖片數(shù)據(jù) 345
20.6 查看照片 349
20.7 中級(jí)練習(xí):改變Item的尺寸 352
20.8 高級(jí)練習(xí):自定義布局 352
第21章 Core Data 353
21.1 對(duì)象圖 353
21.2 實(shí)體 354
21.3 創(chuàng)建Core Data Stack 358
21.4 更新數(shù)據(jù) 361
21.5 更新數(shù)據(jù)源 364
21.6 在硬盤(pán)上保存圖片 367
21.7 初級(jí)練習(xí):照片查看次數(shù) 368
第22章 Core Data關(guān)系 369
22.1 關(guān)系 370
22.2 在界面中添加標(biāo)簽 372
22.3 父子NSManagedObjectContext 382
22.4 中級(jí)練習(xí):收藏 384
第23章 后記 385
23.1 接下來(lái)做什么 385
23.2 關(guān)注我們 386
索引 387
本書(shū)中所有代碼都是使用Swift語(yǔ)言編寫(xiě)的,前面的章節(jié)會(huì)讓讀者快速熟悉這門(mén)新語(yǔ)言。通過(guò)本書(shū),讀者會(huì)學(xué)到如何利用Swift語(yǔ)言特性來(lái)編寫(xiě)更好的iOS應(yīng)用。我們已經(jīng)愛(ài)上Swift了,相信你也會(huì)的。
其他新增的部分包括collection view、size class、Auto Layout、web service、Core Data。
第5版使用的是Xcode 7.1或更新的版本,應(yīng)用在安裝iOS 9或更新版本的設(shè)備上運(yùn)行。
除了以上這些明顯的變化,作者還根據(jù)讀者和學(xué)生提出的問(wèn)題對(duì)本書(shū)進(jìn)行了大量修訂。可以說(shuō)與前一版本相比,新版頁(yè)頁(yè)有改進(jìn)。
終于第五版出來(lái)了!!等的急死了
吉林名摩羯了離開(kāi)了,今年困境哦哦移民距離拉薩
買(mǎi)本生地的書(shū)籍給學(xué)生作為生地會(huì)考的資料拓寬知識(shí)面很不錯(cuò)
經(jīng)典新版,薄而有料,不錯(cuò)。
當(dāng)當(dāng)大促,給我兒子先備著。自己包裝了透明書(shū)套。