iOS編程實戰寶典

iOS編程實戰寶典

《iOS編程實戰寶典》是2014年8月1日清華大學出版社出版的圖書,作者是曾源。

內容簡介

本書以實戰開發為原則,通過開發中最常見的技術模組,配合每章的開發實例及最後的一個完整的綜合項目案例,全面、詳細地介紹了iOS開發從易到難,從界面到硬體等技術要點的整合使用,兼顧iPhone和iPad的APP開發。

全書共21章,分為4篇。第1篇為基礎篇,讓從未接觸過iOS開發的人員快速了解iOS SDK,Object-C和Xcode;第2篇為UI開發篇,讀者將系統學習界面與多視圖知識,包括互動原理、互動控制項、表視圖、導航視圖和選擇器等;第3篇為高級篇,涉及Storyboard、數據存儲、GCD、觸屏和手勢、多媒體、硬體、重力感應和加速等大量進階內容;第4篇為實戰篇,通過一個食譜APP,讓讀者了解如何開發自己的APP程式,還學習了第三方框架Three20,還介紹了如何開發iPhone和iPad都兼容的APP程式。

圖書目錄

第1篇基礎篇

第1章iOS開發概述 2

1.1本書的宗旨 2

1.2iOS開發的特點 2

1.2.1一次只能運行一個應用程式 3

1.2.2一個應用程式只有一個視窗 3

1.2.3數據訪問機制 3

1.2.4螢幕尺寸限制 3

1.2.5回響時間限制 4

1.2.6設備資源限制 4

1.2.7互動限制 5

1.3iOS的獨特功能 5

1.3.1GameCenter 5

1.3.2Storyboard 5

1.3.3Twitter 6

1.3.4iCloud 6

1.3.5通知中心 6

1.3.6Passbook 7

1.4加入Apple開發者計畫 7

1.4.1開發者賬號 7

1.4.2加入Apple開發人員計畫 8

1.4.3創建AppleID 9

1.5下載和安裝Xcode 11

1.5.1下載Xcode 11

1.5.2安裝Xcode 12

1.6小結 14

1.7習題 15

第2章介紹Objective-C和iOSSDK 16

2.1介紹Objective-C 16

2.1.1類定義 17

2.1.2類實現 18

2.1.3多參數的方法 18

2.1.4屬性 19

2.1.5類別 20

2.2Objective-C的重要部分 21

2.2.1協定 21

2.2.2委託 22

2.2.3創建第一個工程 23

2.2.4簡單介紹工程界面 25

2.2.5通過程式體會協定和委託 26

2.2.6記憶體管理 30

2.2.7自動引用計數 32

2.3介紹iOSSDK 32

2.3.1Xcode 32

2.3.2Instruments 32

2.3.3Simulator 33

2.3.4InterfaceBuilder 34

2.4iOS核心部分 34

2.4.1CocoaTouch(可觸摸層) 35

2.4.2Media(媒體層) 37

2.4.3CoreServices(核心服務層) 38

2.4.4CoreOS(核心作業系統層) 38

2.5小結 39

2.6習題 39

第3章iOS開發起航 40

3.1創建項目HelloWorld 40

3.1.1應用程式模板 40

3.1.2新建iPhone工程 44

3.1.3詳解Xcode的各個部分 46

3.1.4詳解項目的各個部分 50

3.2解密InterfaceBuilder 51

3.2.1掀開Nib神秘的面紗 52

3.2.2詳解InterfaceBuilder的組成部分 52

3.2.3在視圖中添加第一個UI控制項 55

3.2.4設定UI控制項的屬性 55

3.2.5變數的關聯 57

3.2.6通過代碼設定屬性 59

3.3為套用添加圖示 61

3.3.1iPhone圖示介紹 61

3.3.2iPad圖示介紹 62

3.3.3圖示的命名和設定 62

3.3.4程式名稱的設定 64

3.4小結 66

3.5習題 66

第2篇UI開發篇

第4章用戶互動基礎 68

4.1介紹ViewController(視圖控制器) 68

4.1.1MVC模型 68

4.1.2ViewController(視圖控制器) 70

4.1.3生命周期 72

4.2使用ViewController編寫計算器 73

4.2.1創建項目PlusMinus 74

4.2.2Button(按鈕) 75

4.2.3TextField(輸入框) 77

4.2.4添加Outlet(連線) 80

4.2.5添加Action(動作) 81

4.2.6設計用戶互動 84

4.2.7編譯並運行程式 85

4.3最佳化互動體驗 86

4.3.1鍵盤關閉 86

4.3.2數字鍵盤 88

4.4詳解Delegate(委託) 91

4.4.1UITextField委託方法 91

4.4.2實現委託功能 92

4.5小結 94

4.6習題 95

第5章掌握更多互動控制項 96

5.1使用ImageView(圖像視圖)和AlertView(警告框) 96

5.1.1ImageView控制項 97

5.1.2UIAlertView控制項 100

5.1.3創建項目ImageSwitch 100

5.1.4設定界面朝向 103

5.1.5設定UIImageView屬性 106

5.1.6數組的概念 108

5.1.7切換圖片 109

5.1.8添加UIAlertView 111

5.2使用Slider(滑塊)和ProgressView(進度條) 113

5.2.1添加UISlider和UIProgressView 113

5.2.2設定控制項屬性 114

5.2.3創建Action(動作)和Outlet(連線) 116

5.2.4實現Action方法 117

5.2.5添加定時器控制 120

5.3使用Switch(開關)和Segment(分段控制項) 122

5.3.1NavigationBar(導航條)的樣式 122

5.3.2添加UISwitch並實現Action方法 124

5.3.3添加UISegment並實現Action方法 127

5.3.4添加“檯燈” 131

5.4小結 132

5.5習題 132

第6章多視圖套用 134

6.1什麼是多視圖 134

6.2多視圖套用的結構 135

6.2.1導航和標籤的多視圖模型 135

6.2.2根視圖(RootView)和內容視圖(ContentView) 137

6.3創建多視圖套用 138

6.3.1創建工程 139

6.3.2創建視圖控制器和Nib檔案 140

6.3.3修改套用委託類(AppDelegate) 141

6.3.4實現根視圖界面與操作 143

6.3.5創建子視圖 145

6.3.6實現視圖的切換 147

6.4委託 150

6.4.1創建protocal類 150

6.4.2代理函式 152

6.4.3實現委託功能 153

6.5動畫效果 157

6.5.1添加視圖轉換動畫特效 157

6.5.2更多效果 159

6.6小結 163

6.7習題 163

第7章TabBarController和PickerView 164

7.1TabBarController 164

7.1.1UITabBarController組成部分 164

7.1.2UITabBarController使用方式 167

7.2創建項目並配置TabBarController 167

7.2.1創建視圖控制器 169

7.2.2創建根視圖控制器 169

7.3使用日期選擇器(UIDatePicker) 172

7.3.1選擇器在iPhone中的使用 172

7.3.2實現日期選擇器 173

7.4使用單組件選擇器(SingleComponentPicker) 176

7.4.1創建Outlet和Action 176

7.4.2實現數據源和委託 177

7.4.3彈出選中的數據 178

7.5多組件選擇器(MultiComponentPicker) 180

7.5.1NSDictionary(字典) 180

7.5.2定義Outlet和Action 181

7.5.3選擇器數據 182

7.5.4實現選擇器的數據顯示 183

7.6小結 187

7.7習題 188

第8章表視圖 189

8.1介紹UITableView(表視圖) 190

8.1.1UITableView(表視圖) 190

8.1.2分組(Grouped)表和無格式(Plain)表 191

8.1.3單元格 192

8.2實現一個簡單的表視圖 193

8.2.1設計視圖 193

8.2.2編寫視圖控制器 195

8.2.3在表單元中添加圖片 199

8.2.4介紹表單元的幾種樣式 201

8.2.5處理行選擇事件 204

8.2.6調整表單元中文字的字型和位置 205

8.2.7設定表單元的高度 206

8.3實現自定義的表單元 208

8.3.1在表單元中添加子視圖 208

8.3.2創建UITableViewCell的子類 213

8.3.3使用Nib實現自定義的表單元 215

8.3.4載入自定義單元格 220

8.4實現支持索引的分組表 222

8.4.1創建視圖 222

8.4.2導入數據 222

8.4.3實現視圖控制器 223

8.4.4為表視圖添加索引支持 226

8.5小結 227

8.6習題 227

第9章NavigationController(導航控制器) 229

9.1介紹導航控制器 229

9.1.1棧的概念 230

9.1.2視圖控制器棧 231

9.2創建導航控制器套用 232

9.2.1套用結構 232

9.2.2添加導航控制器 234

9.2.3根視圖(RootView) 235

9.2.4內容視圖(ContentView) 237

9.3更複雜的表視圖 240

9.3.1第1個子視圖:有詳細內容的表視圖 240

9.3.2第2個子視圖:可選擇單元格的表視圖 245

9.3.3第3個子視圖:可移動單元格的表視圖 249

9.3.4第4個子視圖:可刪除單元格的表視圖 254

9.4小結 260

9.5習題 261

第3篇高級篇

第10章Storyboard 264

10.1支持Storyboard的程式 265

10.1.1創建新工程 265

10.1.2程式結構 266

10.2導航控制器 269

10.2.1在Storyboard中添加導航控制器 269

10.2.2原型單元格和靜態單元格 273

10.3表視圖 274

10.3.1編輯表視圖 274

10.3.2編輯表單元原型 275

10.4視圖的切換 276

10.4.1創建節日列表視圖 276

10.4.2創建出行視圖 278

10.4.3在Storyboard中建立視圖之間的轉換 279

10.5小結 281

10.6習題 281

第11章套用設定和用戶默認項 283

11.1什麼是設定束(SettingBundle) 284

11.2創建項目 284

11.2.1創建工程 285

11.2.2創建設定束 285

11.2.3使用設定束 287

11.3用戶默認設定(NSUserDefaults) 293

11.3.1讀取默認設定值 294

11.3.2修改默認設定值 297

11.4小結 301

11.5習題 302

第12章iOS數據存儲基礎 303

12.1理解套用沙盒 303

12.1.1獲取Documents路徑 304

12.1.2獲取臨時路徑 305

12.1.3獲取Library路徑 305

12.2檔案存儲策略 306

12.2.1iOS5本地存儲限制 306

12.2.2單檔案存儲策略 306

12.2.3多檔案存儲策略 307

12.3使用屬性列表 307

12.3.1創建PropertyList程式 307

12.3.2數據顯示與保存 310

12.3.3數據的讀取 313

12.4類對象的序列化 317

12.4.1NSCoding協定和NSCoder抽象類 317

12.4.2歸檔的概念與NSCopying協定 319

12.4.3數據的歸檔操作 320

12.4.4創建Archiving套用 321

12.4.5修改程式界面和輸出口 324

12.4.6實現數據歸檔 325

12.5使用SQLite3 329

12.5.1打開資料庫 330

12.5.2執行SQL語句 330

12.5.3使用綁定變數 332

12.5.4創建支持SQLite3的套用 333

12.5.5使用SQLite3檢索數據表 338

12.6使用CoreData 340

12.6.1實體(Entity)和託管對象(ManagedObject) 340

12.6.2概念深入 342

12.6.3如何設計數據模型 346

12.6.4支持CoraData的套用 348

12.6.5增加數據刪除 359

12.7小結 362

12.8習題 362

第13章GCD與後台處理進程 363

13.1進程與執行緒的概念 363

13.2什麼是GCD 364

13.2.1Block特性 364

13.2.2Dispatchobject和Dispatchqueue的概念 365

13.2.3創建套用GCDSupport 366

13.3執行緒(NSThread) 370

13.3.1創建執行緒 371

13.3.2同步與加鎖 371

13.3.3與主執行緒互動 373

13.4後台處理進程(BackgroundProcessing) 374

13.4.1套用的生命周期 374

13.4.2套用狀態改變時對應的接口 375

13.4.3詳細介紹套用的各種運行狀態 377

13.4.4處理Inactive狀態 378

13.4.5處理Background狀態 379

13.5創建LocalAlert程式 381

13.5.1新建工程 382

13.5.2開啟定時器和本地提醒 382

13.5.3處理Inactive和後台狀態 386

13.5.4運行程式進行後台測試 386

13.6小結 387

13.7習題 387

第14章觸屏和手勢 389

14.1多觸摸(Multitouch)的概念 390

14.2回響者鏈 390

14.2.1回響者對象 391

14.2.2轉發事件,保持回響的傳遞連續性 391

14.3多觸摸的架構 392

14.44個觸摸通知方法 392

14.4.1觸摸開始 393

14.4.2觸摸滑動 394

14.4.3觸摸結束 394

14.4.4觸摸中斷 395

14.5TouchDect應用程式 395

14.5.1創建程式 395

14.5.2實現觸摸檢測 397

14.5.3運行程式 398

14.6手勢識別 400

14.6.1UIGestureRecognizer類 400

14.6.2輕擊手勢檢測 400

14.6.3輕掃手勢檢測 404

14.6.4捏合手勢檢測 408

14.7自定義手勢 413

14.7.1創建MyGesture應用程式 413

14.7.2介紹Quartz 421

14.7.3Quartz基本概念 422

14.7.4描繪軌跡 422

14.8小結 425

14.9習題 425

第15章CoreLocation定位 427

15.1CoreLocation工作原理 427

15.2位置管理器(LocationManager) 428

15.2.1設定所需的精度 429

15.2.2設定距離篩選器 429

15.2.3啟動位置管理器 430

15.3位置管理器委託 430

15.3.1獲取位置更新 430

15.3.2使用CLLocation獲取位置信息 430

15.3.3錯誤通知 432

15.4使用CoreLocation 433

15.5小結 439

15.6習題 439

第16章重力感應和加速計 440

16.1加速計的物理原理 441

16.2獲取朝向 442

16.3訪問加速計 443

16.3.1UIAcceleration加速計 444

16.3.2實現accelerometer:didAccelerate:方法 446

16.4搖動換膚 448

16.4.1創建ChangeSkin程式 449

16.4.2實現換膚功能 450

16.5滾球小遊戲 451

16.5.1實現主視圖控制器 451

16.5.2編寫BallView 452

16.6了解CoreMotion 458

16.7小結 460

16.8習題 460

第17章攝像頭和相冊 461

17.1圖像選取器 462

17.1.1UIImagePickerController 462

17.1.2啟動UIImagePickerController 463

17.2實現圖像選取器控制器委託 464

17.3實際測試照相機和庫 465

17.3.1創建MyCamera應用程式 465

17.3.2實現拍照 466

17.3.3真機上測試本程式 469

17.3.4打開iPhone相冊 471

17.4小結 474

17.5習題 474

第18章多媒體:音頻和視頻 475

18.1iPhone音頻 475

18.1.1短音頻播放技術 475

18.1.2長音頻播放技術 476

18.1.3佇列式播放技術 477

18.1.4跨平台3D播放技術 478

18.2創建MusicPlayer程式 478

18.2.1開發程式框架 479

18.2.2使用SystemSoundServices 482

18.2.3使用AVAudioPlayer 485

18.3錄音 493

18.3.1如何錄音 493

18.3.2補充MusicPlayer程式 494

18.3.3實現AVAudioRecorderDelegate代理方法 498

18.3.4播放錄音 499

18.3.5測試錄音功能 499

18.4iPhone視頻 500

18.4.1多媒體播放器類 500

18.4.2MPMoviePlayerController的使用 501

18.5創建VideoPlayer程式 503

18.5.1添加設定束 503

18.5.2讀取播放器屬性 506

18.5.3實現視頻播放 509

18.5.4處理狀態變化 512

18.5.5運行程式播放視頻 515

18.6小結 517

18.7習題 517

第19章本地化 518

19.1本地化體系結構 519

19.2本地化原則 519

19.3使用字元串檔案 520

19.4創建Localize應用程式 521

19.4.1本地化字元串 522

19.4.2查看當前區域設定 527

19.4.3本地化nib檔案 531

19.4.4本地化圖像 534

19.4.5本地化應用程式圖示與名稱 536

19.5小結 538

19.6習題 539

第4篇實戰篇

第20章創建iPhone和iPad都兼容的程式 542

20.1開發通用應用程式 542

20.1.1創建通用模板 543

20.1.2需要注意的地方 544

20.2創建通用應用程式 548

20.2.1設計程式界面 548

20.2.2創建並連線IBOutlet 550

20.2.3獲取設備信息 551

20.3擴展通用應用程式 552

20.3.1創建iPad視圖控制器類 552

20.3.2快速添加輸出口 553

20.3.3實現程式功能 555

20.4創建多目標程式 556

20.4.1添加新的Target 557

20.4.2配置程式 558

20.5小結 559

20.6習題 559

第21章用Three20實現的食譜APP 560

21.1什麼是Three20 560

21.1.1下載原始碼 560

21.1.2結構分析 561

21.2功能的優勢 563

21.3導入Three20 566

21.3.1添加Three20.xcodeproj 566

21.3.2添加Three20.bundle 568

21.3.3添加必須的靜態程式庫 568

21.3.4添加目標依賴項 569

21.3.5修改HeaderSearchPaths 571

21.3.6修改OtherLinkerFlags 572

21.3.7引入頭檔案 573

21.4認識TTNavigator 573

21.4.1使用方法 573

21.4.2映射表 575

21.5開發UseThree20應用程式——食譜APP 576

21.5.1使用TTTableViewController 576

21.5.2使用TTViewController類 581

21.5.3修改AppDelegate類 584

21.6補充說明 587

21.6.1進展指示符MBProgressHUD 587

21.6.2網路請求庫ASIHttpRequest 588

21.6.3網路圖片處理 588

21.6.4JSONFramework 588

21.7小結 589

相關詞條

相關搜尋

熱門詞條

聯絡我們