第1章 為開發準備好係統和iOS設備
1.1 歡迎進入iOS平颱
1.1.1 iOS設備
1.1.2 顯示屏和圖形
1.1.3 應用程序資源約束
1.1.4 連接性
1.1.5 輸入和反饋
1.2 成為iOS開發人員
1.2.1 加入Apple開發人員計劃
1.2.2 安裝Xcode
1.2.3 添加設備支持組件
1.3 創建並安裝開發供應配置文件
1.3.1 什麼是開發供應配置文件
1.3.2 配置用於開發的設備
1.4 運行第一個iOS應用程序
1.5 開發技術概述
1.5.1 Apple開發工具
1.5.2 Objective-C
1.5.3 CoCoa Touch
1.5.4 模型-視圖-控製器
1.6 進一步探索
1.7 小結
1.8 問與答
1.9 作業
1.9.1 測驗
1.9.2 答案
1.9.3 練習
第2章 Xcode和iOS模擬器簡介
2.1 使用Xcode
2.1.1 創建和管理項目
2.1.2 編輯和導航代碼
2.1.3 生成應用程序
2.1.4 管理項目屬性
2.2 使用iOS模擬器
2.2.1 啓動應用程序
2.2.2 模擬多點觸摸事件
2.2.3 鏇轉模擬的設備
2.2.4 模擬其他情況
2.3 進一步探索
2.4 小結
2.5 問與答
2.6 作業
2.6.1 測驗
2.6.2 答案
2.6.3 練習
第3章 探索Apple平颱語言Objective-C
3.1 麵嚮對象編程和Objective-C
3.1.1 什麼是麵嚮對象編程
3.1.2 麵嚮對象編程術語
3.1.3 什麼是Objective-C
3.2 探索Objective-C文件結構
3.2.1 頭文件/接口文件
3.2.2 實現文件
3.2.3 自動生成的結構
3.2.4 分類和協議
3.3 Objective-C編程基礎
3.3.1 聲明變量
3.3.2 分配和初始化對象
3.3.3 使用方法及發送消息
3.3.4 錶達式和決策
3.4 內存管理和自動引用計數(ARC)
3.4.1 舊方式:保留並釋放對象
3.4.2 新方式:自動引用計數
3.5 進一步探索
3.6 小結
3.7 問與答
3.8 作業
3.8.1 測驗
3.8.2 答案
3.8.3 練習
第4章 Cocoa Touch內幕
4.1 Cocoa Touch是什麼
4.1.1 冷靜麵對大量的功能
4.1.2 年輕而成熟
4.2 探索iPhone技術層
4.2.1 Cocoa Touch層
4.2.2 多媒體層
4.2.3 核心服務層
4.2.4 核心OS層
4.3 跟蹤iOS應用程序的生命周期
4.4 Cocoa基礎
4.4.1 核心應用程序類
4.4.2 數據類型類
4.4.3 界麵類
4.5 使用Xcode探索iOS框架
4.5.1 Xcode文檔
4.5.2 快速幫助
4.6 進一步探索
4.7 小結
4.8 問與答
4.9 作業
4.9.1 測驗
4.9.2 答案
4.9.3 練習
第5章 探索Xcode Interface Builder
5.1 瞭解Interface Builder
5.1.1 IB采用的方法
5.1.2 剖析IB故事闆
5.2 創建用戶界麵
5.2.1 對象庫
5.2.2 將對象加入到視圖中
5.2.3 使用IB編輯工具
5.2.4 自動布局係統
5.3 定製界麵外觀
5.3.1 使用屬性檢查器
5.3.2 設置輔助功能屬性
5.3.3 測試界麵
5.4 連接到代碼
5.4.1 打開項目
5.4.2 實現概述
5.4.3 輸齣口和操作
5.4.4 對象身份
5.5 進一步探索
5.6 小結
5.7 問與答
5.8 作業
5.8.1 測驗
5.8.2 答案
5.8.3 練習
第6章 模型-視圖-控製器應用程序設計
6.1 瞭解設計模式模型-視圖-控製器
6.1.1 製作意大利麵條
6.1.2 使用MVC將應用程序設計結構化
6.2 Xcode如何實現MVC
6.2.1 視圖
6.2.2 視圖控製器
6.2.3 數據模型
6.3 使用模闆Single View Application
6.3.1 實現概述
6.3.2 創建項目
6.3.3 規劃屬性和連接
6.3.4 設計界麵
6.3.5 創建並連接輸齣口和操作
6.3.6 實現應用程序邏輯
6.3.6 生成應用程序
6.4 進一步探索
6.5 小結
6.6 問與答
6.7 作業
6.7.1 測驗
6.7.2 答案
6.7.3 練習
第7章 使用文本、鍵盤和按鈕
7.1 基本用戶輸入和輸齣
7.1.1 按鈕
7.1.2 文本框和文本視圖
7.1.3 標簽
7.2 使用文本框、文本視圖和按鈕
7.2.1 實現概述
7.2.2 創建項目
7.2.3 設計界麵
7.2.4 創建並連接輸齣口和操作
7.2.5 實現按鈕模闆
7.2.6 隱藏鍵盤
7.2.7 實現應用程序邏輯
7.2.8 生成應用程序
7.3 進一步探索
7.4 小結
7.5 問與答
7.6 作業
7.6.1 測驗
7.6.2 答案
7.6.3 練習
第8章 處理圖像、動畫、滑塊和步進控件
8.1 用戶輸入和輸齣
8.1.1 滑塊
8.1.2 步進控件
8.1.3 圖像視圖
8.2 創建並管理圖像動畫、滑塊和步進控件
8.2.1 實現概述
8.2.2 創建項目
8.2.3 設計界麵
8.2.4 創建並連接到輸齣口和操作
8.2.5 實現應用程序邏輯
8.2.6 生成應用程序
8.3 進一步探索
8.4 小結
8.5 問與答
8.6 作業
8.6.1 測驗
8.6.2 答案
8.6.3 練習
第9章 使用高級界麵對象和視圖
9.1 再談用戶輸入和輸齣
9.1.1 開關
9.1.2 分段控件
9.1.3 Web視圖
9.1.4 可滾動的視圖
9.2 使用開關、分段控件和Web視圖
9.2.1 實現概述
9.2.2 創建項目
9.2.3 設計界麵
9.2.4 創建並連接輸齣口和操作
9.2.5 實現應用程序邏輯
9.2.6 生成應用程序
9.3 使用可滾動視圖
9.3.1 實現概述
9.3.2 創建項目
9.3.3 設計界麵
9.3.4 創建並連接輸齣口和操作
9.3.5 實現應用程序邏輯
9.3.6 生成應用程序
9.4 進一步探索
9.5 小結
9.6 問與答
9.7 作業
9.7.1 測驗
9.7.2 答案
9.7.3 練習
第10章 引起用戶注意
10.1 提醒用戶
10.1.1 提醒視圖
10.1.2 操作錶
10.1.3 係統聲音服務
10.2 探索提醒用戶的方法
10.2.1 實現概述
10.2.2 創建項目
10.2.3 設計界麵
10.2.4 創建並連接輸齣口和操作
10.2.5 實現提醒視圖
10.2.6 實現操作錶
10.2.7 實現提醒音和震動
10.3 進一步探索
10.4 小結
10.5 問與答
10.6 作業
10.6.1 測驗
10.6.2 答案
10.6.3 練習
第11章 實現多場景和彈齣框
11.1 多場景故事闆簡介
11.1.1 術語
11.1.2 創建多場景項目
11.1.3 創建切換
11.1.4 手工控製模態切換
11.1.5 使用齣口和迴退切換
11.1.6 以編程方式創建模態場景切換
11.1.7 在場景之間傳遞數據
11.2 理解iPad彈齣框
11.2.1 創建彈齣框
11.2.2 創建彈齣切換
11.2.3 手工顯示彈齣框
11.2.4 響應用戶關閉彈齣框
11.2.5 以編程方式創建並顯示彈齣框
11.3 使用模態切換
11.3.1 實現概述
11.3.2 創建項目
11.3.4 設計界麵
11.3.5 創建模態切換
11.3.6 迴退到初始場景
11.3.7 創建並連接輸齣口和操作
11.3.8 實現應用程序邏輯
11.3.9 生成應用程序
11.4 使用彈齣框
11.4.1 創建項目
11.4.2 設計界麵
11.4.3 創建彈齣切換
11.4.4 創建並連接輸齣口
11.4.5 實現應用程序邏輯
11.4.6 生成應用程序
11.5 進一步探索
11.6 小結
11.7 問與答
11.8 作業
11.8.1 測驗
11.8.2 答案
11.8.3 練習
第12章 使用工具欄和選擇器做齣選擇
12.1 瞭解工具欄
12.1.1 欄按鈕項
12.2 探索選擇器
12.2.1 日期選擇器
12.2.2 選擇器視圖
12.3 使用日期選擇器
12.3.1 實現概述
12.3.2 創建項目
12.3.3 設計界麵
12.3.4 創建切換
12.3.5 創建並連接輸齣口和操作
12.3.6 實現場景切換邏輯
12.3.7 實現日期計算邏輯
12.3.8 生成應用程序
12.4 實現自定義選擇器
12.4.1 實現概述
12.4.2 創建項目
12.4.3 設計界麵
12.4.4 創建切換
12.4.5 創建並連接輸齣口和操作
12.4.6 實現場景切換邏輯
12.4.7 實現自定義選擇器視圖
12.4.8 生成應用程序
12.5 進一步探索
12.6 小結
12.7 問與答
12.8 作業
12.8.1 測驗
12.8.2 答案
12.8.3 練習
第13章 使用導航控製器和選項卡欄控製器
13.1 高級視圖控製器
13.1.1 多場景開發
13.2 探索導航控製器
13.2.1 導航欄、導航項和欄按鈕項
13.2.2 在故事闆中使用導航控製器
13.2.3 在導航場景之間共享數據
13.3 瞭解選項卡欄控製器
13.3.1 選項卡欄和選項卡欄項
13.3.2 在故事闆中使用選項卡欄控製器
13.3.3 在選項卡欄控製器管理的場景之間共享數據
13.4 使用導航控製器
13.4.1 實現概述
13.4.2 創建項目
13.4.3 創建壓入切換
13.4.4 設計界麵
13.4.5 創建並連接輸齣口和操作
13.4.6 實現應用程序邏輯
13.4.7 生成應用程序
13.5 使用選項卡欄控製器
13.5.1 實現概述
13.5.2 創建項目
13.5.3 創建選項卡欄關係
13.5.4 設計界麵
13.5.5 創建並連接輸齣口和操作
13.5.6 實現應用程序邏輯
13.5.7 生成應用程序
13.6 進一步探索
13.7 小結
13.8 問與答
13.9 作業
13.9.1 測驗
13.9.2 答案
13.9.3 練習
第14章 使用錶視圖和分割視圖控製器導航數據
14.1 瞭解錶視圖
14.1.1 錶視圖的外觀
14.1.2 錶單元格
14.1.3 添加錶視圖
14.2 探索分割視圖控製器(僅適用於iPad)
14.2.1 實現分割視圖控製器
14.2.2 模闆Master-Detail Application
14.3 一個簡單的錶視圖應用程序
14.3.1 實現概述
14.3.2 創建項目
14.3.3 設計界麵
14.3.4 連接輸齣口delegate和dataSource
14.3.5 實現應用程序邏輯
14.3.6 生成應用程序
14.4 創建基於主-從視圖的應用程序
14.4.1 實現概述
14.4.2 創建項目
14.4.3 調整iPad界麵
14.4.4 調整iPhone界麵
14.4.5 實現應用程序數據源
14.4.6 實現主視圖控製器
14.4.7 實現細節視圖控製器
14.4.8 修復細節視圖控製器引用問題
14.4.9 生成應用程序
14.5 進一步探索
14.6 小結
14.7 問與答
14.8 作業
14.8.1 測驗
14.8.2 答案
14.8.3 練習
第15章 讀寫應用程序數據
15.1 iOS應用程序和數據存儲
15.2 數據存儲方式
15.2.1 用戶默認設置
15.2.2 設置束
15.2.3 直接訪問文件係統
15.3 創建隱式首選項
15.3.1 實現概述
15.3.2 創建項目
15.3.3 創建界麵
15.3.4 創建並連接輸齣口和操作
15.3.5 實現應用程序邏輯
15.3.6 生成應用程序
15.4 實現係統設置
15.4.1 實現概述
15.4.2 創建項目
15.4.3 設計界麵
15.4.4 創建並連接輸齣口
15.4.5 創建設置束
15.4.6 實現應用程序邏輯
15.4.7 生成應用程序
15.5 實現文件係統存儲
15.5.1 實現概述
15.5.2 創建項目
15.5.3 設計界麵
15.5.4 創建並連接輸齣口和操作
15.5.5 實現應用程序邏輯
15.6 進一步探索
15.7 小結
15.8 問與答
15.9 作業
15.9.1 測驗
15.9.2 答案
15.9.3 練習
第16章 創建自適應的用戶界麵
16.1 自適應界麵
16.1.1 啓用界麵鏇轉
16.1.2 設計可鏇轉和調整大小的界麵
16.2 使用自動布局
16.2.1 自動布局的語言和工具
16.2.2 示例1:居中約束
16.2.3 示例2:增大控件
16.2.4 示例3:統一調整大小及自動布局的怪異行為
16.3 以編程方式定義界麵
16.3.1 實現概述
16.3.2 創建項目
16.3.3 界麵編程
16.3.4 生成應用程序
16.4 鏇轉時切換視圖
16.4.1 實現概述
16.4.2 創建項目
16.4.3 設計界麵
16.4.4 創建並連接輸齣口
16.4.5 實現應用程序邏輯
16.4.6 生成應用程序
16.5 進一步探索
16.6 小結
16.7 問與答
16.8 作業
16.8.1 測驗
16.8.2 答案
16.8.3 練習
第17章 使用復雜的觸摸和手勢
17.1 多點觸摸手勢識彆
17.2 添加手勢識彆器
17.3 使用手勢識彆器
17.3.1 實現概述
17.3.2 創建項目
17.3.3 設計界麵
17.3.4 給視圖添加手勢識彆器
17.3.5 創建並連接輸齣口和操作
17.3.6 實現應用程序邏輯
17.3.7 生成應用程序
17.4 進一步探索
17.5 小結
17.6 問與答
17.7 作業
17.7.1 測驗
17.7.2 答案
17.7.3 練習
第18章 檢測朝嚮和移動
18.1 理解運動硬件
18.1.1 加速計
18.1.2 陀螺儀
18.2 訪問朝嚮和運動數據
18.2.1 通過UIDevice請求朝嚮通知
18.2.2 使用Core Motion讀取加速計和陀螺儀數據
18.3 檢測朝嚮
18.3.1 實現概述
18.3.2 創建項目
18.3.3 設計界麵
18.3.4 創建並連接輸齣口
18.3.5 實現應用程序邏輯
18.3.6 生成應用程序
18.4 檢測傾斜和鏇轉
18.4.1 實現概述
18.4.2 創建項目
18.4.3 設計界麵
18.4.4 創建並連接輸齣口和操作
18.4.5 實現應用程序邏輯
18.4.6 生成應用程序
18.5 進一步探索
18.6 小結
18.7 問與答
18.8 作業
18.8.1 測驗
18.8.2 答案
18.8.3 練習
第19章 使用多媒體
19.1 探索多媒體
19.1.1 Media Player框架
19.1.2 AV Foundation框架
19.1.3 圖像選擇器
19.1.4 Core Image框架
19.2 創建用於練習使用多媒體的應用程序
19.2.1 實現概述
19.2.2 創建項目
19.2.3 設計界麵
19.2.4 創建並連接輸齣口和操作
19.2.5 實現電影播放器
19.2.6 實現音頻錄製和播放
19.2.7 使用照片庫和相機
19.2.8 實現Core Image濾鏡
19.2.9 訪問並播放音樂庫
19.3 進一步探索
19.4 小結
19.5 問與答
19.6 作業
19.6.1 測驗
19.6.2 答案
19.6.3 練習
第20章 與其他應用程序交互
20.1 應用程序集成
20.1.1 地址簿
20.1.2 電子郵件
20.1.3 在社交網站上發錶信息
20.1.4 地圖功能
20.2 使用地址簿、電子郵件、社交網絡和地圖
20.2.1 實現概述
20.2.2 創建項目
20.2.3 設計界麵
20.2.4 創建並連接輸齣口和操作
20.2.5 實現地址簿邏輯
20.2.6 實現地圖邏輯
20.2.7 實現電子郵件邏輯
20.2.8 實現社交網絡邏輯
20.2.9 生成應用程序
20.3 進一步探索
20.4 小結
20.5 問與答
20.6 作業
20.6.1 測驗
20.6.2 答案
20.6.3 練習
第21章 實現定位服務
21.1 理解Core Location
21.1.1 獲取位置
21.1.2 獲取航嚮
21.2 創建支持定位的應用程序
21.2.1 實現概述
21.2.2 創建項目
21.2.3 設計視圖
21.2.4 創建並連接輸齣口
21.2.5 實現應用程序邏輯
21.2.6 生成應用程序
21.3 理解磁性指南針
21.3.1 實現概述
21.3.2 創建項目
21.3.3 修改用戶界麵
21.3.4 創建並連接輸齣口
21.3.5 修改應用程序邏輯
21.3.6 生成應用程序
21.4 進一步探索
21.5 小結
21.6 問與答
21.7 作業
21.7.1 測驗
21.7.2 答案
21.7.3 練習
第22章 創建支持後颱處理的應用程序
22.1 理解iOS後颱處理
22.1.1 後颱處理類型
22.1.2 支持後颱處理的應用程序的生命周期
22.2 禁用後颱處理
22.3 處理後颱掛起
22.4 實現本地通知
22.4.1 常用的通知屬性
22.4.2 創建和調度通知
22.5 使用任務特定的後颱處理
22.5.1 修改應用程序Cupertion以支持在後颱播放音頻
22.5.2 使用聲音指示前往庫珀蒂諾的方嚮
22.5.3 添加後颱模式鍵
22.6 完成長時間運行的後颱任務
22.6.1 實現概述
22.6.2 創建項目
22.6.3 設計界麵
22.6.4 創建並連接輸齣口
22.6.5 實現應用程序邏輯
22.6.6 啓用後颱任務處理
22.6.7 生成應用程序
22.7 進一步探索
22.8 小結
22.9 問與答
22.10 作業
22.10.1 測驗
22.10.2 答案
22.10.3 練習
第23章 創建通用應用程序
23.1 開發通用應用程序
23.1.1 理解通用模闆
23.1.2 通用應用程序設置方麵的不同
23.2 創建通用應用程序:方法1
23.2.1 實現概述
23.2.2 創建項目
23.2.3 設計界麵
23.2.4 創建並連接輸齣口
23.2.5 實現應用程序邏輯
23.2.6 生成應用程序
23.3 創建通用應用程序:方法2
23.3.1 創建項目
23.3.2 設計界麵
23.3.3 創建並連接輸齣口
23.3.4 實現應用程序邏輯
23.3.5 生成應用程序
23.4 使用多個目標
23.4.1 將iPhone目標轉換為iPad目標
23.4.2 將iPad目標轉換為iPhone目標
23.5 進一步探索
23.6 小結
23.7 問與答
23.8 作業
23.8.1 測驗
23.8.2 答案
23.8.3 練習
第24章 應用程序跟蹤和調試
24.1 使用NSLog提供即時反饋
24.2 使用Xcode調試器
24.2.1 設置斷點及單步執行代碼
24.2.2 使用調試導航器
24.3 進一步探索
24.4 小結
24.5 問與答
24.6 作業
24.6.1 測驗
24.6.2 答案
24.6.3 練習
· · · · · · (
收起)