iOS 編程, 5/e iOS编程(第5版)

Christian Keur, Aaron Hillegass

買這商品的人也買了...

商品描述

本書有兩個特點:第一、涵蓋iOS應用開發必備知識:從Swift基礎知識到新語言特性,從AppKit庫到常見的Cocoa設計模式,從Xcode技巧到Instruments,不一而足。第二、指導讀者以正確的方法解決問題:Swift的習慣約定有哪些(例如命名約定,內存管理約定),創建子類時如何處理初始化方法,Cocoa的常見設計模式有哪些,如何選擇數據保存方法等。

海報:

作者簡介

Christian Keur是Big Nerd Ranch的高級講師和軟件工程師,負責編寫Big Nerd Ranch的“iOS新手培訓課程”教材。該教材廣受好評,是本書的原型。Christian畢業於美國佐治亞理工學院計算機科學系,目前居住在亞特蘭大。

Aaron Hillegass是Big Nerd Ranch的創始人之一,曾就職於NeXT公司和Apple公司,他擁有近20年的Cocoa、iOS開發與教學經驗。Aaron與他人合著了《Mac OS X編程》。

目錄大綱

第1章第一個簡單的iOS應用1 
1.1創建Xcode項目2 
1.2模型-視圖-控制器5 
1.3設計Quiz 6 
1.4 Interface Builder 7 
1.5創建界面8 
1.6創建模型對象21 
1.7編譯完成的應用23 
1.8應用圖標24 
1.9啟動畫面26 

第2章Swift語言27 
2.1 Swift的數據類型27 
2.2使用標準類型28 
2.3可選35 
2.4循環和字符串補全37 
2.5枚舉和Switch 39 
2.6查閱Apple的Swift文檔40 

第3章視圖與視圖層次結構41 
3.1視圖基礎42 
3.2視圖層次結構42 
3.3創建新項目44 
3.4視圖及Frame 45 
3.5自動佈局系統55 
3.6初級練習:更多自動佈局練習64 

第4章文本輸入與委託65 
4.1文本編輯65 
4.2實現溫度轉換73 
4.3委託76 
4.3初級練習:禁止輸入字母79 

第5章視圖控制器81
5.1視圖控制器的視圖82 
5.2設置初始視圖控制器82 
5.3 UITabBarController 85 
5.4加載以及展示視圖90 
5.5與視圖控制器及其視圖交互92 
5.6中級練習:夜間模式93 
5.7深入學習:高清顯示93 

第6章用代碼實現視圖95 
6.1使用代碼創建視圖96 
6.2代碼實現約束97 
6.3代碼實現事件104 
6.4初級練習:再添加一個Tab 106 
6.5中級練習:顯示用戶位置106 
6.6高級練習:顯示地圖大頭針106 
6.7深入學習: NSAutoresizingMaskLayoutConstraint 106 

第7章本地化109 
7.1國際化110 
7.2本地化120 
7.3初級練習:另外一種本地化126 
7.4深入學習:NSBundle在國際化中扮演的角色126 
7.5深入學習:導入以及導出XLIFF 128 

第8章控制動畫129 
8.1基礎動畫130 
8.2另一個標籤132 
8.3動畫完成135 
8.4對約束作動畫135 
8.5時間方法139 
8.6初級練習:spring動畫141
8.7中級練習:Layout Guides 141 

第9章UITableView與UITableViewController 143 
9.1編寫Homepwner應用144 
9.2 UITableViewController 145 
9.3創建Item類147 
9.4 UITableView數據源149 
9.5 UITableViewCells 153 
9.6內容縮進158 
9.7初級練習:多個分組159 
9.8中級練習:固定的行160 
9.9高級練習:自定義UITableView 160 

第10章編輯UITableView 161 
10.1編輯模式161 
10.2添加行166 
10.3刪除行168 
10.4移動行169 
10.5顯示提示窗口170 
10.6設計模式173 
10.7初級練習:修改刪除按鈕的標題174 
10.8中級練習:禁止調整順序174 
10.9高級練習:真正地禁止調整順序174 

第11章創建UITableViewCell子類175 
11.1創建ItemCell 176 
11.2添加並關聯ItemCell的屬性178 
11.3使用ItemCell 179 
11.4動態計算高度180
11.5動態類型181 
11.6初級練習:UITableViewCell的顏色184 

第12章UIStackView 185 
12.1使用UIStackView 186 
12.2 Segues 194 
12.3綁定內容195 
12.4傳遞數據200 
12.5初級練習:更多的UIStackView 201 

第13章UINavigationController 203 
13.1 UINavigationController 204 
13.2使用UINavigationController導航209 
13.3視圖的出現和消失210 
13.4隱藏鍵盤211 
13.5 UINavigationBar 215 
13.6初級練習:顯示數字鍵盤220 
13.7中級練習:自定義UITextField 220 
13.8高級練習:添加更多UIViewController 220 

第14章相機221 
14.1通過UIImageView對象顯示圖片222 
14.2通過UIImagePickerController拍攝照片226 
14.3創建ImageStore 231 
14.4讓UIViewController可以訪問ImageStore 232 
14.5創建並使用鍵233
14.6使用ImageStore 235 
14.7初級練習:編輯圖片236 
14.8中級練習:刪除圖片237 
14.9高級練習:Camera Overlay 237 
14.10深入學習:導航實現文件237 

第15章保存、讀取與應用狀態241 
15.1固化242 
15.2應用沙盒245 
15.3 NSKeyedArchiver與NSKeyedUnarchiver 248 
15.4應用狀態與狀態切換251 
15.5通過NSData將數據寫入文件254 
15.6錯誤處理257 
15.7初級練習:PNG 259 
15.8深入學習:應用狀態切換259 
15.9深入學習:文件系統讀/寫261 
15.10深入學習:應用程序包263 

第16章Size Classes 265 
16.1定制Size Classes 266 
16.2初級練習:垂直排列UITextField和UILabel 272 

第17章觸摸事件和UIResponder 273 
17.1觸摸事件274 
17.2創建TouchTracker應用275 
17.3創建Line結構體276 
17.4創建DrawView 278 
17.5使用DrawView畫圖279
17.6處理觸摸事件並創建線條對象280 
17.7 @IBInspectable 285 
17.8中級練習:顏色287 
17.9高級練習:圓圈287 
17.10深入學習:響應對象鏈287 
17.11深入學習:UIControl 289 

第18章UIGestureRecognizer與UIMenuController 291 
18.1 UIGestureRecognizer子類292 
18.2使用UITapGestureRecognizer檢測點擊292 
18.3多個UIGestureRecognizer 294 
18.4 UIMenuController 297 
18.5更多UIGestureRecognizer 299 
18.6深入學習UIGestureRecognizer 304 
18.7中級練習:神奇的線條305 
18.8高級練習:速度和大小305 
18.9鉑金挑戰:顏色305 
18.10深入學習:UIMenuController與UIResponderStandardEditActions 306
 
第19章網絡服務307 
19.1開始Photorama應用308 
19.2創建URL 309 
19.3發送請求314 
19.4 Photo模型317 
19.5 JSON數據318
19.6下載並顯示圖片數據326 
19.7主線程329 
19.8初級練習:打印返回信息331 
19.9深入學習:HTTP 331 

第20章UICollectionView 333 
20.1顯示網格334 
20.2 UICollection數據源336 
20.3自定義佈局339 
20.4創建自定義的UICollectionViewCell 341 
20.5下載圖片數據345 
20.6查看照片349 
20.7中級練習:改變Item的尺寸352 
20.8高級練習:自定義佈局352 

第21章Core Data 353 
21.1對像圖353 
21.2實體354 
21.3創建Core Data Stack 358 
21.4更新數據361 
21.5更新數據源364 
21.6在硬盤上保存圖片367 
21.7初級練習:照片查看次數368 

第22章Core Data關係369 
22.1關係370 
22.2在界面中添加標籤372 
22.3父子NSManagedObjectContext 382 
22.4中級練習:收藏384 

第23章後記385
23.1接下來做什麼385 
23.2關注我們386 
索引387