《iOS開發指南:從零基礎到App Store上架(第2版)》

《iOS開發指南:從零基礎到App Store上架(第2版)》ios

基本信息git

做者: 關東昇   程序員

叢書名: 圖靈原創github

出版社:人民郵電出版社web

ISBN:9787115348029sql

上架時間:2014-3-5數據庫

出版日期:2014 年3月編程

開本:16開json

頁碼:1設計模式

版次:1-1

所屬分類:計算機

 

更多關於》》》《iOS開發指南:從零基礎到App Store上架(第2版)》

 

編輯推薦

    國內最新iOS 7開發詳解,全面涵蓋iOS 7新內容、新特性、新變化

  數百個項目案例+兩個真實項目開發全過程

  涵蓋iOS平臺架構設計、測試驅動開發、性能優化、版本控制和程序調試等豐富內容

 

內容簡介

    書籍

    計算機書籍

  《ios開發指南:從零基礎到app store上架(第2版)》採用全新的ios 7 api,詳細介紹了最新的ios 7 開發相關的知識點。本書共分爲4 個部分:第一部分爲基礎篇,介紹了ios 的一些基礎知識;第二部分爲網絡篇,介紹了ios 網絡開發相關的知識;第三部分爲進階篇,介紹了ios高級內容、商業思考等;第四部分爲實戰篇,從無到有地介紹了兩個真實的ios 應用:mynotes 應用和2016 里約熱內盧奧運會應用。書中包括了100 多個完整的案例項目源代碼,你們能夠到本書網站http://www.iosbook1.com 下載。

  《ios開發指南:從零基礎到app store上架(第2版)》適合ios 開發人員閱讀。

 

媒體評論

  「本書是爲廣大iOS開發者編寫的教程,上一版就獲得了廣大開發者的好評。書中不只從易到難詳細講述了iOS開發的方方面面,並且專門針對iOS 7的新特性做了全面而詳細的介紹。本書重點突出,知識點可能是企業項目中經常使用的技術要點,且包含大量的實例代碼和豐富的插圖,能夠幫助開發者很好地理解書中內容。所以,它不只適合做爲初級開發者的入門教程,並且也可做爲高級開發者在閒暇之餘翻閱的工具書。」

  ——CocoaChina社區

  「本書上一版自發行以來,受到了51CTO社區廣大iOS開發者和愛好者的好評和承認。它介紹了iOS全新的設計理念,以及iOS 7開發中經常使用的新特性、新功能,不只能夠幫助iOS初學者迅速掌握iOS開發技能,並且能夠幫助程序員系統全面地梳理知識,提升開發水平。在iOS開發的道路上,它定能助你一臂之力。」

  ——51CTO博客總編、51CTO學院高級產品運營經理曹亞莉

  「本書結合大量案例講述了iOS應用開發技巧,無疑是一本值得初學者認真閱讀的從入門到精通的教材。第2版在上一版的基礎上增長了iOS 7的新技術,並突出了扁平化的設計理念。這本書將是你踏入iOS殿堂的黃金階梯!」

  ——9Tech開發者社區

  「本書通俗易懂,全面覆蓋了iOS 7的新特性及要點,書中的案例和演示均以iOS 7從新實現,詳細講解了從iOS 6升級到iOS 7後出現的問題及解決方法,可見做者用心良苦。在「iOS分層架構設計」等章節中,做者總結並分享了以往開發過程當中的經驗和心得,很值得借鑑。相信本書對廣大iOS開發者會有很大的幫助。」

  ——智捷iOS課堂

 

目錄

《ios開發指南:從零基礎到app store上架(第2版)》

第一部分  基  礎  篇

第1章 開篇綜述  2

1.1  ios概述  2

1.1.1  ios介紹  2

1.1.2  ios 7新特性  2

1.2  開發環境及開發工具  3

1.3  本書中的約定  4

1.3.1  案例代碼約定  5

1.3.2  圖示的約定  5

第2章 第一個ios應用程序  7

2.1  建立helloworld工程  7

2.1.1  建立工程  7

2.1.2  xcode中的ios工程模板  12

2.1.3  應用剖析  13

2.2  helloworld工程中故事板文件main.storyboard  16

2.2.1  故事板的導航特色  16

2.2.2  故事板中的scene和segue  17

2.3  應用生命週期  17

2.3.1  非運行狀態——應用啓動場景  19

2.3.2  點擊home鍵——應用退出場景  20

2.3.3  掛起從新運行場景  21

2.3.4  內存清除——應用終止場景  22

2.4  視圖生命週期  22

2.4.1  視圖生命週期與視圖控制器關係  23

2.4.2  ios ui狀態保持和恢復  24

2.5  設置產品屬性  26

2.5.1  xcode中的project和target  26

2.5.2  設置經常使用的產品屬性  28

2.6  ios api簡介  30

2.6.1  api概述  30

2.6.2  如何使用api幫助  32

2.7  小結  34

第3章 uiview與控件  35

3.1  視圖「始祖」——uiview  35

3.1.1  uiview「家族」  35

3.1.2  應用界面的構建層次  37

3.1.3  視圖分類  38

3.2  標籤控件和按鈕控件  38

3.2.1  標籤控件  39

3.2.2  按鈕控件  39

3.2.3  動做和輸出口  41

3.3  textfield控件和textview控件  43

3.3.1  textfield控件  44

3.3.2  textview控件  44

3.3.3  鍵盤的打開和關閉  45

3.3.4  關閉和打開鍵盤的通知  46

3.3.5  鍵盤的種類  47

3.4  開關控件、滑塊控件和分段控件  48

3.4.1  開關控件  49

3.4.2  滑塊控件  49

3.4.3  分段控件  49

3.5  網頁控件webview  50

3.5.1  webview介紹  50

3.5.2  使用webview構建hybrid應用  53

3.6  屏幕滾動控件scrollview  58

3.6.1  scrollview屬性的設置  58

3.6.2  鍵盤與其餘控件的協同  63

3.7  等待相關的控件與進度條  65

3.7.1  活動指示器activityindicatorview  66

3.7.2  進度條progressview  66

3.8  警告框和操做表  67

3.8.1  警告框alertview  67

3.8.2  操做表actionsheet  69

3.9  工具欄和導航欄  70

3.9.1  工具欄  70

3.9.2  導航欄  73

3.10  屏幕布局  77

3.10.1  ipad、iphone和iphone 5屏幕布局  77

3.10.2  絕對佈局和相對佈局  78

3.10.3  使用autolayout佈局  80

3.10.4  旋轉你的屏幕  82

3.11  選擇器  86

3.11.1  日期選擇器  86

3.11.2  普通選擇器  88

3.11.3  數據源協議與委託協議  90

3.12  集合視圖  92

3.12.1  集合視圖介紹  92

3.12.2  集合視圖單元格  94

3.12.3  數據源協議與委託協議  97

3.13  小結  97

第4章 表視圖  98

4.1  概述  98

4.1.1  表視圖的組成  98

4.1.2  表視圖的相關類  99

4.1.3  表視圖分類  100

4.1.4  單元格的組成和樣式  103

4.1.5  數據源協議與委託協議  105

4.2  簡單表視圖  106

4.2.1  建立簡單表視圖  106

4.2.2  自定義單元格  110

4.2.3  添加搜索欄  114

4.3  分節表視圖  119

4.3.1  添加索引  119

4.3.2  分組與靜態表  122

4.4  修改單元格  126

4.4.1  刪除和插入單元格  126

4.4.2  移動單元格  132

4.5  表視圖ui設計模式  134

4.5.1  分頁模式  134

4.5.2  下拉刷新模式  134

4.5.3  ios 7下拉刷新控件  135

4.6  小結  137

第5章 視圖控制器與導航模式  138

5.1  概述  138

5.1.1  視圖控制器的種類  138

5.1.2  導航模式  138

5.1.3  模態視圖  139

5.2  平鋪導航  145

5.2.1  應用場景  145

5.2.2  基於分屏導航的實現  147

5.2.3  基於分頁導航的實現  150

5.3  標籤導航  156

5.3.1  應用場景  157

5.3.2  實現  157

5.4  樹形結構導航  159

5.4.1  應用場景  160

5.4.2  實現  161

5.5  組合使用導航模式  165

5.5.1  應用場景  166

5.5.2  實現  166

5.6  小結  173

第6章 ios經常使用設計模式  174

6.1  單例模式  174

6.1.1  問題提出  174

6.1.2  實現原理  174

6.1.3  應用案例  175

6.2  委託模式  177

6.2.1  問題提出  177

6.2.2  實現原理  178

6.2.3  應用案例  181

6.3  觀察者模式  184

6.3.1  問題提出  184

6.3.2  實現原理  185

6.3.3  通知機制和kvo機制  187

6.4  mvc模式  193

6.4.1  mvc模式概述  193

6.4.2  cocoa touch中的mvc模式  194

6.5  小結  196

第7章 iphone與ipad應用開發的差別  197

7.1  概述  197

7.1.1  應用場景差別  197

7.1.2  設計和開發需注意的問題  197

7.1.3  構建自適應的iphone和ipad工程  200

7.2  ipad專用api  202

7.2.1  uipopovercontroller控制器  202

7.2.2  uisplitviewcontroller控制器  205

7.2.3  模態視圖專用屬性  211

7.3  小結  215

第8章 ios分層架構設計  216

8.1  低耦合企業級系統架構設計  216

8.2   ios分層架構設計  217

8.2.1  基於同一工程的分層  217

8.2.2  基於一個工做空間不一樣工程的分層  222

8.3  小結  227

第9章 ios 7中文字排版和渲染引擎——text kit  228

9.1  text kit基礎  228

9.1.1  文字的排版和渲染  228

9.1.2  text kit架構  228

9.1.3  text kit中的核心類  229

9.1.3  實例:凸版印刷效果  231

9.2  文字圖片混合排版  233

9.3  動態字體  236

9.4  小結  239

第10章 應用程序設置  240

10.1  概述  240

10.1.1  設置  240

10.1.2  配置  241

10.2  應用程序設置包  243

10.3  設置項目種類  244

10.3.1  文本字段  247

10.3.2  開關  249

10.3.3  滑塊  250

10.3.4  值列表  252

10.3.5  子界面  253

10.4  讀取設置  255

10.5  小結  256

第11章 國際化  257

11.1  概述  257

11.1.1  須要國際化的內容  257

11.1.2  國際化目錄結構  259

11.2  文本信息國際化  260

11.2.1  系統按鈕和信息國際化  260

11.2.2  應用名稱國際化  261

11.2.3  程序代碼輸出的靜態文本國際化  263

11.2.4  使用genstring工具  265

11.3  xib和故事板文件國際化  266

11.3.1  使用base國際化技術  266

11.3.2  autolayout與國際化  268

11.4  資源文件國際化  270

11.4.1  圖片資源文件國際化  270

11.4.2  聲音資源文件國際化  271

11.5  小結  271

第12章 數據持久化  272

12.1  概述  272

12.1.1  沙箱目錄  272

12.1.2  持久化方式  273

12.2  屬性列表  273

12.3  對象歸檔  278

12.4  使用sqlite數據庫  282

12.4.1  sqlite數據類型  283

12.4.2  建立數據庫  283

12.4.3  查詢數據  285

12.4.4  修改數據  288

12.5  core data  290

12.5.1  orm  290

12.5.2  core data堆棧  290

12.5.3  建模和生成實體  294

12.5.4  採用core data分層架構設計  297

12.5.5  查詢數據  298

12.5.6  修改數據  300

12.6  小結  301

第13章 訪問通信錄  302

13.1  概述  303

13.2  讀取聯繫人信息  303

13.2.1  查詢聯繫人記錄  304

13.2.2  讀取單值屬性  306

13.2.3  讀取多值屬性  308

13.2.4  讀取圖片屬性  310

13.3  寫入聯繫人信息  310

13.3.1  建立聯繫人  312

13.3.2  修改聯繫人  314

13.3.3  刪除聯繫人  315

13.4  高級api  316

13.4.1  選擇聯繫人  316

13.4.2  顯示和修改聯繫人  319

13.4.3  建立聯繫人  322

13.5  小結  325

第二部分  網  絡  篇

第14章 訪問web service  328

14.1  概述  328

14.2  數據交換格式  328

14.2.1  xml文檔結構  330

14.2.2  解析xml文檔  331

14.2.3  json文檔結構  338

14.2.4  json數據解碼  339

14.3  rest web service  341

14.3.1  http和https協議  341

14.3.2  同步get請求方法  342

14.3.3  異步get請求方法  346

14.3.4  post請求方式  347

14.3.5  調用rest web service的插入、修改和刪除方法  348

14.4  使用輕量級網絡請求框架mknetworkkit  352

14.4.1  asihttprequest、afnetworking和mknetworkkit比較  353

14.4.2  安裝和配置mknetworkkit框架  353

14.4.3  網絡請求  354

14.4.4  下載數據  356

14.4.5  上傳數據  358

14.5  反饋網絡信息改善用戶體驗  359

14.5.1  使用下拉刷新控件改善用戶體驗  359

14.5.2  使用等待指示器控件  362

14.5.3  使用網絡等待指示器  365

14.6  小結  366

第15章 定位服務與地圖應用  367

15.1  定位服務  367

15.1.1  定位服務編程  368

15.1.2  地理信息反編碼  372

15.1.3  地理信息編碼查詢  373

15.1.4  關於定位服務的測試  375

15.2  使用ios蘋果地圖  378

15.2.1  顯示地圖  378

15.2.2  添加標註  380

15.2.3  跟蹤用戶位置變化  383

15.3  使用程序外地圖  384

15.3.1  調用ios蘋果地圖  384

15.3.2  調用谷歌web地圖  387

15.4  小結  388

第三部分  進  階  篇

第16章 升級?  390

16.1  從ios 6到ios 7的升級  390

16.1.1  ios 7全新的扁平化設計  391

16.1.2  屏幕適配問題  394

16.1.3  ios 7狀態欄隱藏  396

16.1.4  ios 7狀態欄樣式設置  397

16.2  從xcode 4到xcode 5的升級  399

16.2.1  arc與mrc之爭  399

16.2.2  故事板與xib之爭  402

16.2.3  找回普通顯示屏的模擬器  407

16.2.4  找回老版本的interface builder  408

16.2.5  使用資源目錄管理圖片  409

16.3  從iphone 4到iphone 5的升級  412

16.3.1  屏幕適配問題  413

16.3.2  從32位到64位的升級  416

16.4  小結  417

第17章 ios中的商業模式  418

17.1  收費策略  418

17.1.1  ios如何賺錢  418

17.1.2  避免訂價策略誤區  419

17.1.3  免費軟件的藝術  419

17.1.4  在適當的時間、適當的地點植入廣告  419

17.1.5  嘗試不一樣的盈利模式  419

17.2  使用蘋果iad廣告  420

17.2.1  橫幅廣告  420

17.2.2  插頁廣告  425

17.2.3  查看你的收入  430

17.3  使用谷歌admob廣告  432

17.3.1  註冊admob帳號和管理應用  432

17.3.2  下載谷歌admob ads sdk和示例代碼  435

17.3.3  添加admob橫幅廣告  437

17.3.4  添加admob插頁廣告  442

17.3.5  爲廣告提交用戶和位置信息  445

17.3.6  搜索廣告  446

17.3.7  查看你的收入  448

17.4  應用內購買  449

17.4.1  概述  449

17.4.2  測試環境搭建  450

17.4.3  在程序中實現應用內購買  455

17.4.4  測試應用內購買  461

17.5  小結  463

第18章 找出程序中的bug——調試  464

18.1  xcode調試工具  464

18.1.1  定位編譯錯誤  464

18.1.2  查看和顯示日誌  465

18.1.3  設置和查看斷點  466

18.1.4  調試工具欄  470

18.1.5  輸出窗口  471

18.1.6  變量查看窗口  473

18.1.7  查看線程  474

18.2  日誌與斷言輸出  475

18.2.1  使用nslog函數  475

18.2.2  使用nsassert宏  476

18.2.3  移除nslog和nsassert  477

18.3  lldb調試工具  479

18.3.1  斷點命令  480

18.3.2  觀察點命令  482

18.3.3  查看變量和計算表達式命令  483

18.4  異常堆棧報告分析  485

18.4.1  跟蹤異常堆棧  485

18.4.2  分析堆棧報告  488

18.5  在ios設備上調試  488

18.5.1  建立開發者證書  489

18.5.2  設備註冊  493

18.5.3  建立app id  495

18.5.4  建立配置概要文件  497

18.5.5  設備調試  501

18.6  xcode設備管理工具  502

18.6.1  管理設備配置概要文件  503

18.6.2  查看設備上的應用程序  504

18.6.3  設備控制檯  505

18.6.4  設備日誌  505

18.7  小結  506

第19章 測試驅動下的ios應用開發  507

19.1  測試驅動的軟件開發概述  507

19.1.1  測試驅動的軟件開發流程  507

19.1.2  測試驅動的軟件開發案例  508

19.1.3  ios 7單元測試框架  513

19.2  使用xctest測試框架  513

19.2.1  添加xctest到工程  514

19.2.2  編寫xctest測試方法  515

19.2.3  運行測試程序  521

19.2.4  分析測試報告  521

19.3  ios單元測試最佳實踐  523

19.3.1  測試數據持久層  523

19.3.2  測試業務邏輯層  527

19.3.3  測試表示層  529

19.4  小結  531

第20章 讓你的程序「飛」起來——性能優化  532

20.1  內存優化  532

20.1.1  內存泄漏問題的解決  532

20.1.2  查找和解決殭屍對象  540

20.1.3  autorelease的使用問題  543

20.1.4  響應內存警告  543

20.1.5  選擇xib仍是故事板  545

20.2  優化資源文件  545

20.2.1  圖片文件優化  546

20.2.2  音頻文件優化  548

20.3  延遲加載  549

20.3.1  資源文件的延遲加載  549

20.3.2  故事板和xib文件的延遲加載  553

20.4  數據持久化的優化  555

20.4.1  使用文件  555

20.4.2  使用sqlite數據庫  559

20.4.3  使用core data  560

20.5  可重用對象的使用  562

20.5.1  表視圖中的可重用對象  562

20.5.2  集合視圖中的可重用對象  564

20.5.3  地圖視圖中的可重用對象  565

20.6  併發處理與多核cpu  565

20.6.1  主線程阻塞問題  566

20.6.2  選擇nsthread仍是gcd  566

20.7  編譯參數  568

20.8  小結  569

第21章 管理好你的程序代碼——代碼版本控制  570

21.1  概述  570

21.1.1  版本控制歷史  570

21.1.2  基本概念  571

21.2  git代碼版本控制  571

21.2.1  服務器搭建  571

21.2.2  gitolite服務器管理  573

21.2.3  git經常使用命令  575

21.2.4  git分支  577

21.2.5  git協同開發  581

21.2.6  xcode 5中git的配置與使用  583

21.3  github代碼託管服務  590

21.3.1  建立和配置github帳號  590

21.3.2  建立代碼庫  592

21.3.3  派生代碼庫  595

21.3.4  使用github協同開發  597

21.3.5  管理組織  601

21.4  小結  605

第22章 把你的應用放到app store上  606

22.1  收官  606

22.1.1  在xcode 5下添加圖標  606

22.1.2  xcode 5添加啓動界面  608

22.1.3  調整identity和deployment info屬性  611

22.1.4  爲發佈進行編譯  612

22.1.5  應用打包  618

22.2  發佈流程  619

22.2.1  建立應用及基本信息  620

22.2.2  應用訂價信息  621

22.2.3  最後的信息輸入  622

22.2.4  上傳應用  625

22.3  審覈不經過的常見緣由  627

22.4  小結  628

第四部分  實  戰  篇

第23章 重構mynotes應用——ios網絡通訊中的設計模式與架構設計  630

23.1  移動網絡通訊應用的分層架構設計  630

23.2  基於委託模式實現  631

23.2.1  網絡通訊與委託模式  631

23.2.2  在異步網絡通訊中使用委託模式實現分層架構設計  631

23.2.3  類圖  632

23.2.4  時序圖  634

23.2.5  數據持久層重構  637

23.2.6  業務邏輯層的代碼實現  640

23.2.7  表示層的代碼實現  642

23.3  基於觀察者模式的通知機制實現  646

23.3.1  觀察者模式的通知機制回顧  646

23.3.2  異步網絡通訊中通知機制的分層架構設計  647

23.3.3  類圖  647

23.3.4  時序圖  648

23.3.5  數據持久層的重構  651

23.3.6  業務邏輯層的代碼實現  653

23.3.7  表示層的代碼實現  653

23.4  小結  658

第24章 ios敏捷開發項目實戰——2016里約熱內盧奧運會應用開發及app store發佈  659

24.1  應用分析與設計  659

24.1.1  應用概述  659

24.1.2  需求分析  659

24.1.3  原型設計  660

24.1.4  數據庫設計  660

24.1.5  架構設計  662

24.2  ios敏捷開發  662

24.2.1  敏捷開發宣言  662

24.2.2  ios適合敏捷開發嗎  663

24.2.3  ios敏捷開發最佳實踐  663

24.3  任務1:建立應用基本工做空間  665

24.4  任務2:信息系統層與持久層開發  666

24.4.1  迭代2.1:編寫數據庫ddl腳本  666

24.4.2  迭代2.2:插入初始數據到數據庫  667

24.4.3  迭代2.3:編寫實體類  667

24.4.4  迭代2.4:dao類xctest單元測試  668

24.4.5  迭代2.5:編寫dao類  672

24.4.6  迭代2.6:發佈到github  676

24.5  任務3:業務邏輯層開發  676

24.5.1  迭代3.1:比賽項目業務邏輯類xctest單元測試  676

24.5.2  迭代3.2:編寫比賽項目業務邏輯類  677

24.5.3  迭代3.3:比賽日程業務邏輯類xctest單元測試  678

24.5.4  迭代3.4:編寫比賽日程業務邏輯類  679

24.5.5  迭代3.5:發佈到github  681

24.6  任務4:表示層開發  681

24.6.1  迭代4.1:使用資源目錄管理圖片和圖標資源  682

24.6.2  迭代4.3:根據原型設計初步設計ipad故事板  683

24.6.3  迭代4.3:根據原型設計初步設計iphone故事板  684

24.6.4  迭代4.4:首頁模塊  684

24.6.5  迭代4.5:比賽項目模塊  685

24.6.6  迭代4.6:比賽日程模塊  690

24.6.7  迭代4.7:倒計時模塊表示層  692

24.6.8  迭代4.8:關於咱們模塊表示層  694

24.6.9  迭代4.9:發佈到github  694

24.7  任務5:收工  694

24.7.1  迭代5.1:添加圖標  695

24.7.2  迭代5.2:設計和添加啓動界面  695

24.7.3  迭代5.3:植入谷歌admob橫幅廣告  695

24.7.4  迭代5.4:性能測試與改善  696

24.7.5  迭代5.5:發佈到github  697

24.7.6  迭代5.6:在app store上發佈應用  697

24.8  小結  699

 

本圖書信息來源:互動出版

相關文章
相關標籤/搜索