基本信息
原書名:iOS 4 in Action
原出版社:Manning Publications
作者:(美)Jocelyn Harrington Brandon Trbitowski Christopher Allen Shannon Appelcline
譯者:袁國忠
出版社:人民郵電出版社
ISBN:9787115275172
出版日期:2012 年4月
開本:16開
頁碼:422
版次:1-1
內容簡介
全書包括22章和4個附錄,涵蓋開發環境設定、objective-c、xcode、視圖控制器、事件和操作、數據輸入和存儲、多媒體、定位、對等通信、地圖、程式內購買、iad、本地和推送通知、多任務等多個主題。
《ios 4實戰:iphone與ipad套用開發》由淺入深,語言簡潔,示例豐富,可幫助讀者迅速掌握開發ios應用程式所需的基本知識,既適合沒有任何編程經驗的新手閱讀,又可供有志於從事ios開發的人員參考。
目錄
《ios 4實戰:iphone與ipad套用開發》
第1章 ios 4簡介 1
1.1 人人為我,我為人人:ios平台 1
1.2 理解iphone和ipad的觸摸式互動 2
1.3 為使用sdk做準備 4
1.3.1 安裝sdk 4
1.3.2 剖析sdk 5
1.4 ios簡介 7
1.4.1 剖析ios 7
1.4.2 ios的對象層次結構 8
1.4.3 視窗和視圖 9
1.5 ios方法 10
1.5.1 創建對象 10
1.5.2 記憶體管理 11
1.5.3 事件回響 13
1.5.4 生命周期管理 14
1.6 如何將想法變成應用程式 15
1.6.1 一覽表 15
1.6.2 您的應用程式屬於哪一類 15
1.6.3 利用應用程式賺錢 17
.1.7 小結 17
第2章 學習objective-c 18
2.1 objective-c簡介 18
2.2 訊息 19
2.2.1 帶參數的訊息 20
2.2.2 嵌套的訊息 20
2.2.3 訊息接收方 21
2.3 類定義 21
2.3.1 接口 22
2.3.2 實現 23
2.3.3 對象實例化 23
2.4 屬性 23
2.4.1 屬性的用途 24
2.4.2 設定屬性 24
2.4.3 使用存取器 25
2.4.4 句點語法 25
2.4.5 屬性的複雜度 25
2.5 @編譯指令 26
2.6 類別和協定 26
2.6.1 類別 26
2.6.2 協定 26
2.7 objective-c總結 27
2.8 小結 28
第3章 使用xcode 4 29
3.1 xcode 4簡介 29
3.2 使用xcode 4創建應用程式helloworld 30
3.2.1 新建項目 30
3.2.2 熟悉工作區視窗 33
3.3 詳細查看導航區中的檔案 34
3.3.1 資料夾helloworld 34
3.3.2 資料夾frameworks和product 38
3.3.3 在xcode中生成並運行應用程式 38
3.3.4 為應用程式helloworld編寫代碼 39
3.4 在xcode 4中使用interface builder 42
3.4.1 剖析interface builder 42
3.4.2 創建應用程式applestock 45
3.5 小結 54
第4章 xcode與調試 55
4.1 在xcode中創建新類 55
4.1.1 創建新類 56
4.1.2 頭檔案 57
4.1.3 原始碼檔案 58
4.1.4 使用新創建的類 60
4.2 使用interface builder創建對象 61
4.2.1 創建新的nib檔案 61
4.2.2 初始化interface builder對象 62
4.2.3 訪問.xib檔案 62
4.2.4 更多xcode使用技巧 63
4.3 調試器和instruments 64
4.3.1 fix-it功能 64
4.3.2 分析 65
4.3.3 調試器要點 66
4.3.4 在xcode中運行instruments 67
4.4 小結 69
第5章 基本視圖控制器 71
5.1 視圖控制器家族 72
5.2 標準視圖控制器 73
5.2.1 剖析視圖控制器 73
5.2.2 創建視圖控制器 73
5.2.3 再創建一個視圖控制器 74
5.2.4 創建視圖控制器界面 74
5.2.5 使用視圖控制器 76
5.3 表視圖控制器 79
5.3.1 剖析表視圖控制器 80
5.3.2 創建表視圖控制器 80
5.3.3 創建表界面 81
5.3.4 使用表視圖控制器 86
5.4 小結 87
第6章 監視事件和操作 88
6.1 事件簡介 88
6.1.1 回響者鏈 89
6.1.2 觸摸和事件 90
6.2 觸摸示例:事件報告器 92
6.2.1 在interface builder中創建對象 92
6.2.2 為捕獲觸摸事件準備視圖 94
6.2.3 控制事件 95
6.3 其他事件功能 97
6.3.1 調控事件 97
6.3.2 其他事件方法和屬性 98
6.4 操作簡介 99
6.4.1 uicontrol對象 99
6.4.2 控制項事件和操作 99
6.4.3 使用addtarget:action:for controlevents: 101
6.5 在應用程式中添加按鈕 101
6.5.1 使用addtarget:action:for controlevents: 102
6.5.2 使用ibaction 103
6.6 其他操作功能 104
6.6.1 使用uitextfield接受文本輸入 104
6.6.2 使用uislider讓用戶選擇值 105
6.6.3 結合使用textfield和slider 106
6.6.4 輕鬆使用操作 108
6.6.5 使用操作 108
6.7 通知簡介 108
6.8 小結 109
第7章 高級視圖控制器 110
7.1 選項卡欄視圖控制器 110
7.1.1 剖析選項卡欄視圖控制器 111
7.1.2 創建選項卡欄視圖控制器 111
7.1.3 創建選項卡欄界面 113
7.1.4 使用選項卡欄控制器 117
7.2 導航控制器 117
7.2.1 剖析導航控制器 118
7.2.2 創建導航控制器 119
7.2.3 完善導航控制器 120
7.2.4 使用導航控制器 123
7.3 使用翻頁控制器 125
7.4 分割視圖控制器 127
7.4.1 創建分割視圖控制器 127
7.4.2 設定分割視圖控制器 129
7.4.3 使用分割視圖控制器 132
7.4.4 調整界面使其適合縱向和橫向模式 133
7.5 彈出框和模態視圖控制器 134
7.5.1 創建彈出框視圖控制器 134
7.5.2 創建模態視圖控制器 136
7.6 在通用應用程式中組合使用不同類型的視圖控制器 136
7.6.1 設計可在iphone和ipad上運行的通用應用程式 136
7.6.2 合併視圖控制器 137
7.7 小結 138
第8章 數據:操作、首選項和檔案 139
8.1 接受用戶數據 140
8.2 維護用戶首選項 141
8.2.1 創建自己的首選項 141
8.2.2 使用系統設定 146
8.3 打開檔案 149
8.3.1 訪問bundle 150
8.3.2 訪問其他目錄 151
8.3.3 操縱檔案 152
8.3.4 filesaver:一個uitextview示例 153
8.4 小結 155
第9章 數據:高級技術 157
9.1 使用sqlite 158
9.1.1 搭建sqlite資料庫 158
9.1.2 訪問sqlite 160
9.1.3 訪問sqlite資料庫 160
9.1.4 使用資料庫創建導航選單 161
9.1.5 擴展這個示例 167
9.2 訪問地址簿 167
9.2.1 地址簿框架概述 167
9.2.2 訪問地址簿的屬性 168
9.2.3 查詢地址簿 169
9.2.4 使用address book ui 171
9.3 core data簡介 175
9.3.1 core data背景知識 175
9.3.2 在應用程式中設定core data 176
9.3.3 初始化core data對象 178
9.3.4 將對象加入資料庫 180
9.3.5 使用core data取回、更新和刪除對象 181
9.4 小結 182
第10章 定位:加速計、位置和指南針 183
10.1 加速計和朝向 183
10.1.1 屬性orientation 184
10.1.2 朝向通知 184
10.2 加速計和移動 185
10.2.1 訪問uiaccelerometer 185
10.2.2 對uiacceleration進行分析 186
10.2.3 檢查重力 186
10.2.4 檢查移動 188
10.2.5 識別簡單移動 189
10.3 加速計和手勢 191
10.3.1 使用加速計 191
10.3.2 手勢識別器 193
10.4 深入探討core location 194
10.4.1 位置類 195
10.4.2 確定位置和距離的示例 196
10.4.3 確定海拔高度的示例 198
10.4.4 使用指南針 201
10.4.5 獲取指南針提供的數據 202
10.4.6 core location和網路 202
10.5 小結 203
第11章 多媒體:圖像和相機 204
11.1 圖像簡介 204
11.1.1 載入uiimage 205
11.1.2 繪製uiimageview 205
11.1.3 修改圖像 207
11.2 使用core graphics繪製簡單圖像 207
11.3 訪問照片 208
11.3.1 使用圖像選擇器 209
11.3.2 拍攝照片 209
11.3.3 保存到相冊 210
11.4 collage:一個圖像示例 210
11.4.1 collageview controller 211
11.4.2 tempimageview 214
11.4.3 collageview 215
11.4.4 進一步探索該示例程式 216
11.5 列印圖像 216
11.5.1 列印流程 217
11.5.2 模擬列印 217
11.5.3 創建一個列印圖像的應用程式 218
11.5.4 在模擬器上啟動應用程式iprint 220
11.6 小結 221
第12章 多媒體:音頻及其錄製 222
12.1 播放ipod庫中的音頻 222
12.1.1 從ipod庫獲取音頻 223
12.1.2 獲取有關mpmediaitem的信息 224
12.1.3 使用mpmusicplayer controller播放多媒體 225
12.1.4 創建一個簡單的多媒體播放器 226
12.2 錄製音頻 229
12.2.1 初始化錄音器 229
12.2.2 控制錄音器 230
12.2.3 回響avaudiorecorder事件 230
12.3 播放聲音 231
12.3.1 初始化avaudioplayer 232
12.3.2 avaudioplayerdelegate 232
12.3.3 控制avaudioplayer 233
12.4 創建一個簡單的音頻錄製/播放應用程式 234
12.4.1 使用模板view-based application創建一個項目 234
12.4.2 添加所需的框架 234
12.4.3 創建操作 234
12.4.4 創建界面 235
12.4.5 設定錄音器並實現操作 235
12.5 拍攝、播放和訪問視頻 237
12.6 小結 238
第13章 圖形:quartz、core animation和opengl 239
13.1 quartz 2d簡介 240
13.2 quartz上下文 240
13.2.1 繪製到uiview 242
13.2.2 繪製到點陣圖 242
13.3 繪製路徑 243
13.3.1 終止路徑 244
13.3.2 繪製矩形 246
13.4 設定圖形狀態 246
13.4.1 設定顏色 247
13.4.2 變換 247
13.4.3 設定剪下路徑 249
13.4.4 其他設定 250
13.4.5 管理狀態 251
13.5 quartz高級繪畫技術 251
13.5.1 繪製漸變 251
13.5.2 繪製圖像 253
13.5.3 繪製文本 254
13.5.4 未涉及的主題 255
13.6 一個在圖片上繪畫的示例 255
13.6.1 視圖控制器photodraw 256
13.6.2 視圖drawview 257
13.6.3 擴展該示例 259
13.7 core animation簡介 259
13.7.1 core animation基礎 260
13.7.2 為使用core animation做準備 261
13.7.3 創建簡單的隱式動畫 261
13.7.4 創建簡單的顯式動畫 262
13.8 opengl簡介 263
13.9 小結 264
第14章 web視圖和網路協定 265
14.1 網路協定層次結構 265
14.2 底層聯網技術 266
14.3 使用url 267
14.3.1 創建nsurl 267
14.3.2 創建nsurl request 268
14.3.3 手工操縱html數據 269
14.4 使用uiwebview 269
14.4.1 填充web視圖 270
14.4.2 管理web視圖委託 271
14.4.3 一個web視圖示例 271
14.5 解析xml 273
14.5.1 使用nsxmlparser 274
14.5.2 充當委託 274
14.5.3 創建一個rss閱讀器 275
14.5.4 一個獲取海拔高度的core location示例 279
14.6 以post方式請求網頁 281
14.6.1 手工發出post請求 281
14.6.2 提交表單 282
14.7 訪問社交網路 283
14.7.1 使用web協定 284
14.7.2 使用touchjson 284
14.8 小結 286
第15章 使用game kit建立對等連線 287
15.1 game kit概述 287
15.2 使用對等體選擇器創建對等應用程式 288
15.2.1 使用apple的內置對等體選擇器 288
15.2.2 實現gksessiondelegate定義的方法 291
15.2.3 在對等體之間收發數據 292
15.3 創建一個多玩家桌球遊戲 294
15.3.1 創建項目 295
15.3.2 創建頭檔案 295
15.3.3 創建界面 296
15.3.4 初始化遊戲 297
15.3.5 設定對等體選擇器並建立連線 298
15.3.6 實現收發數據的方法 299
15.3.7 遊戲循環 301
15.3.8 用戶互動 303
15.4 小結 305
第16章 在iphone和ipad上使用event kit 306
16.1 event kit概述 307
16.1.1 將event kit框架加入項目 307
16.1.2 event kit類 308
16.2 以編程方式在日曆中添加事項 309
16.2.1 在應用程式birthday中添加所需的框架 310
16.2.2 在日曆中加入事項 310
16.3 使用事項編輯視圖控制器創建事項 311
16.4 取回事項 314
16.4.1 使用謂詞取回事項 314
16.4.2 使用事項編輯視圖控制器顯示事項 315
16.5 使用gcd取回事項 317
16.5.1 grand central dispatch概述 317
16.5.2 使用gcd取回事項 318
16.6 小結 319
第17章 本地通知服務和推送通知服務 320
17.1 本地通知和推送通知是什麼 320
17.2 實現本地通知 322
17.3 apple推送通知系統概述 325
17.4 為使用推送通知做準備 326
17.4.1 創建證書 326
17.4.2 創建供應配置檔案 327
17.4.3 處理推送通知的代碼 328
17.4.4 準備音頻檔案 330
17.5 使用php創建推送通知提供器 330
17.5.1 創建ssl證書 331
17.5.2 實現php推送通知提供器 332
17.6 小結 333
第18章 框架map kit 335
18.1 在應用程式中添加地圖視圖 335
18.1.1 使用interface builder添加地圖 336
18.1.2 以編程方式添加地圖視圖 337
18.1.3 控制地圖 337
18.2 反向地理編碼 340
18.3 標註地圖 342
18.3.1 添加基本的地圖示注 342
18.3.2 添加自定義地圖示注 344
18.4 小結 348
第19章 使用store kit實現程式內購買 349
19.1 設定沙箱測試環境 349
19.1.1 創建itunes測試用戶 350
19.1.2 添加商品 351
19.2 創建簡單的商店界面 353
19.2.1 創建演示程式 353
19.2.2 添加商店界面 354
19.2.3 創建壁紙商品 356
19.2.4 store kit支付 358
19.3 小結 361
第20章 利用iad賺錢 363
20.1 在應用程式中添加橫幅廣告 363
20.1.1 創建一個包含橫幅廣告視圖的簡單應用程式 364
20.1.2 添加橫幅廣告視圖 365
20.2 同時支持橫向和縱向模式 367
20.3 如何處理廣告下載錯誤 370
20.3.1 將委託添加到adbannerview的視圖控制器中 370
20.3.2 模擬事件處理 371
20.4 在應用程式中顯示真實廣告 373
20.5 小結 375
第21章 多任務簡介 376
21.1 多任務概述 377
21.1.1 應用程式的生命周期 378
21.1.2 如何啟用多任務 380
21.2 後台狀態 380
21.2.1 理解後台狀態 381
21.2.2 禁止進入後台狀態 382
21.3 使用快速應用程式切換 382
21.3.1 創建一個支持快速應用程式切換的應用程式 382
21.3.2 在視圖控制器中更新用戶界面 383
21.4 在後台完成任務 386
21.4.1 任務完成api 386
21.4.2 在後台完成任務 386
21.5 在後台監視位置變更 388
21.5.1 後台位置服務概述 389
21.5.2 監視重大位置變更 389
21.5.3 監視基於區域的位置變更 390
21.6 小結 391
第22章 深入探討多任務 392
22.1 使用位置監視服務 393
22.1.1 在應用程式恢復運行時更新用戶界面 393
22.1.2 啟用重大位置變更服務 394
22.2 使用框架audio toolbox創建音頻播放應用程式 396
22.3 啟用後台音頻播放 402
22.3.1 在檔案info.plist中添加uibackgroundmodes鍵 403
22.3.2 處理遙控事件 404
22.4 創建後台播放音頻的應用程式 405
22.5 小結 406
附錄a ios類參考 407
a.1 框架uikit中的類 407
a.2 框架foundation中的類 408
a.3 其他類 409
附錄b 外部資源和參考資料 410
附錄c 發布應用程式 412
c.1 向apple註冊 412
c.2 在設備上運行 412
c.3 為通過app store發布做準備 413
附錄d 讓應用程式能在ipad上運行 415
d.1 配置xcode 415
d.2 修改info.plist以支持多種朝向 417
d.3 添加ipad特有的界面元素 417
d.4 修改視圖以用於ipad 418
d.5 支持多種朝向 421