前言
第1章 第一個簡單的iOS應用 1
1.1 創建Xcode項目 2
1.2 創建界麵 5
1.3 模型-視圖-控製器 9
1.4 聲明 11
1.5 創建關聯 13
1.6 實現方法 17
1.7 針對模擬器構建並運行應用 20
1.8 安裝應用 22
1.9 應用圖標 23
1.10 啓動圖片 25
第2章 Objective-C 29
2.1 對象 29
2.2 使用實例 30
2.3 編寫命令行工具RandomPossessions 33
2.4 創建Objective-C類的子類 39
2.5 異常與未知選擇器 56
2.6 快速枚舉 58
第3章 通過ARC管理內存 61
3.1 堆 61
3.2 棧 62
3.2 指針變量與對象所有權 63
3.4 內存管理 64
3.5 Strong引用與Weak引用 67
3.6 屬性 72
3.7 copy特性 77
3.8 用點號調用存取方法 78
第4章 委托與Core Location 81
4.1 項目、目標與框架 82
4.2 Core Location 83
4.3 委托 87
4.4 使用調試器 91
第5章 MapKit與文本輸入 103
5.1 對象圖 103
5.2 MapKit框架 104
5.3 界麵屬性 105
5.4 設置MapView對象的委托對象 108
第6章 UIView子類與UIScrollView 121
6.1 視圖與視圖層次結構 122
6.2 創建自定義視圖 124
6.3 UIView的drawRect:方法 128
6.4 Core Graphics 131
6.5 UIKit中的繪圖擴展 132
6.6 重畫視圖 134
6.7 運動事件 136
6.8 使用UIScrollView 138
6.9 隱藏狀態條 142
第7章 視圖控製對象 145
7.1 UIViewController 145
7.2 UITabBarController 155
7.3 視圖控製對象的生命周期 159
7.4 UIViewController子類與模闆 168
第8章 通告機製與自動轉屏 173
8.1 通告中心 173
8.2 UIDevice通告 175
8.3 自動轉屏 176
8.4 強製使用橫排模式 184
第9章 UITableView與UITableViewController 187
9.1 編寫Homepwner應用 187
9.2 UITableViewController 189
9.3 UITableView數據源 192
9.4 UITableViewCell對象 198
9.5 代碼片段庫 203
第10章 編輯UITableView 207
10.1 編輯模式 207
10.2 增加行 213
10.3 刪除行 215
10.4 移動行 216
第11章 UINavigationController 219
11.1 UINavigationController 219
11.2 額外的視圖控製對象 223
11.3 UINavigationController的導航功能 228
11.4 UINavigationBar 233
第12章 相機 239
12.1 通過UIImageView對象顯示圖片 239
第13章 UIPopoverController與模態視圖控製對象 261
13.1 將Homepwner改為通用應用 261
13.2 UIPopoverController 263
13.3 更多的模態視圖控製對象 266
第14章 保存、讀取與應用狀態 279
14.1 固化 279
14.2 應用沙盒 281
14.3 NSKeyedArchiver與NSKeyedUnarchiver 283
14.4 應用狀態與狀態切換 286
14.5 通過NSData將數據寫入文件 289
14.7 再談內存過低警告 291
14.8 模型-視圖-控製器-存儲設計模式 292
第15章 創建UITableViewCell子類 299
15.1 創建HomepwnerItemCell 299
15.2 處理圖片 305
15.3 由UITableViewCell對象轉發動作消息 308
第16章 Core Data 317
16.1 對象-關係映射 317
16.2 用Core Data重寫BNRItemStore的數據保存功能 318
16.3 再談SQL 336
16.4 Faults 337
16.5 各種存取機製的優缺點 339
第17章 本地化 341
17.1 通過NSLocale實施國際化 342
17.2 資源的本地化 343
17.3 NSLocalizedString與字符串對照錶 347
第18章 NSUserDefaults 351
18.1 更新Whereami 351
18.2 使用NSUserDefaults 353
第19章 觸摸事件與UIResponder 357
19.1 觸摸事件 357
19.2 創建TouchTracker應用 359
19.3 實現TouchDrawView,完成繪圖功能 360
19.4 處理觸摸事件並創建綫條對象 361
19.5 響應對象鏈 364
第20章 UIGestureRecognizer與UIMenuController 367
20.1 UIGestureRecognizer子類 367
20.2 用UITapGestureRecognizer對象識彆“按下”手勢 368
20.3 UIMenuController 371
20.4 UILongPressGestureRecognizer 372
20.5 UIPanGestureRecognizer以及同時識彆多個手勢 374
第21章 Instruments 380
21.1 靜態分析器 380
21.2 Instruments 382
21.3 Xcode方案 392
21.9 創建新方案 394
21.4 構建設置 396
第22章 Core Animation Layer 399
22.1 層與視圖的關係 399
22.2 創建CALayer對象 400
22.3 層的顯示內容 403
22.4 隱式可動畫屬性 405
第23章 通過CAAnimation控製動畫 411
23.1 動畫對象 411
23.2 通過CABasicAnimation實現鏇轉動畫 414
23.3 通過CAKeyframeAnimation實現彈跳動畫 419
第24章 UIStoryboard 423
24.1 創建Storyboard文件 423
24.2 Storyboard文件中的UITableViewController 427
24.3 Segue 430
24.4 Storyboards的優缺點 434
第25章 Web服務與UIWebView 437
25.1 Web服務 438
25.2 UIWebView 456
第26章 UISplitViewController與NSRegularExpression 463
26.1 在Nerdfeed中使用UISplitViewController 464
26.2 主、從視圖控製對象間的通信 468
26.3 在竪排模式下顯示主視圖控製對象 475
26.4 將Nerdfeed改為通用應用 477
26.5 NSRegularExpression 478
第27章 Block對象 485
27.1 Block對象及其語法 485
27.2 淺談如何使用Block對象 490
27.3 捕獲變量 493
27.4 Block對象的常見用途 496
第28章 模型-視圖-控製器-存儲 503
28.1 為什麼需要存儲對象 503
28.2 創建BNRFeedStore 506
28.3 使用BNRFeedStore對象 508
28.5 通過JSON格式傳輸數據 521
28.6 再談存儲對象 526
第29章 再談MVCS 529
29.1 緩存RSS數據 529
29.2 高級緩存 535
29.3 已讀RSSItem對象與未讀RSSItem對象 545
29.4 使用存儲對象的其他益處 550
第30章 iCloud 555
30.1 使用iCloud前的準備工作 556
30.2 Ubiquity Container 556
30.3 支持iCloud的provisioning profile 558
30.4 Core Data與iCloud 561
第31章 後記 569
31.1 接下來做什麼 569
31.2 結束語 570
索引 571
· · · · · · (
收起)