閱讀724 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《iOS開發指南》正式出版-源碼-樣章-目錄,歡迎大家提出寶貴意見

我的最新作品:《iOS開發指南-從0基礎到AppStore上線》正式出版了

iOS架構設計、iOS性能優化、iOS測試驅動、iOS調試、iOS團隊協作版本控製。。。。。。應有盡有

京東銷售地址:https://item.jd.com/11288969.html

當當銷售地址:https://product.dangdang.com/product.aspx?product_id=23290237

亞馬遜銷售:地址太長了,直接連接了

圖靈社區在線閱讀,購買地址:https://www.ituring.com.cn/book/1160

源碼和章節和大家分享一下!


iOS開發指南-從0基礎到AppStore上線》書籍源碼下載地址(免費下載):

https://download.csdn.net/detail/tonny_guan/5553103

試讀章節下載地址

https://download.csdn.net/detail/tonny_guan/5553187

  

   可以通過微博在線溝通

   讀書交流群:286411514/204462948

   本書最新動態可以關注我的微博@tony_關東升  或者@智捷iOS課堂

   新浪微博:https://weibo.com/516inc

   本書網站:https://www.iosbook1.com,有部分內容和勘誤問題討論區等

目錄大綱
基礎篇

開篇綜述

1.1iOS概述
1.1.1iOS是什麼?
1.1.2iOS6新特性
1.2 開發環境及開發工具
1.3 本書中的約定
1.3.1 案例代碼約定
1.3.2 圖示的約定

第一個iOS應用程序

2.1 創建基於nibHelloWorld工程
2.1.1 創建工程
2.1.2Xcode中的iOS工程模板
2.1.3 應用剖析
2.2 基於故事板的HelloWorld工程
2.2.1 使用故事板重構HelloWorld
2.2.2nibxib與故事板
2.2.3 故事板中的SceneSegue
2.3 應用生命周期
2.3.1 非運行狀態——應用啟動場景
2.3.2 點擊Home——應用退出場景
2.3.3 掛起重新運行場景
2.3.4 內存清除——應用終止場景
2.4 視圖生命周期
2.4.1 視圖生命周期與視圖控製器關係
2.4.2 iOS6 UI狀態保持和恢複
2.5 設置產品屬性
2.5.1XcodeProjectTarget
2.5.2 設置常用的產品屬性
2.6iOS API的介紹
2.6.1API概述
2.6.2 如何使用API幫助

3 iOS常用設計模式

3.1 單例模式
3.1.1 問題提出
3.1.2 實現原理
3.1.3 應用案例
3.2 委托模式
3.2.1 問題提出
3.2.2 實現原理
3.2.3 應用案例
3.3 觀察者模式
3.3.1 問題提出
3.3.2 實現原理
3.3.3 通知機製
3.3.4KVO機製
3.4MVC模式
3.4.1MVC模式概述
3.4.2Cocoa Touch中的MVC模式

4 UIView與控件

4.1 視圖始祖”——UIView
4.1.1UIView“家族
4.1.2 應用畫麵的構建層次
4.1.3 視圖分類
4.2 標簽控件和按鈕控件
4.2.1 標簽控件
4.2.2 按鈕控件
4.2.3 動作和輸出口
4.3TextField控件和TextView控件
4.3.1TextField控件
4.3.2TextView控件
4.3.3 鍵盤的打開和關閉
4.3.4 關閉和打開鍵盤的通知
4.3.5 鍵盤的種類
4.4 開關控件、滑塊控件和分段控件
4.4.1 開關控件
4.4.2 滑塊控件
4.4.3 分段控件
4.5 網頁控件WebView
4.5.1WebView介紹
4.5.2 使用WebView構建Hybrid應用
4.5.3 本地代碼調用JavaScript
4.5.4JavaScript調用本地代碼
4.6 屏幕滾動控件ScrollView
4.6.1ScrollView屬性的設置
4.6.2 鍵盤與其它控件的協同
4.7 等待相關的控件與進度條
4.7.1 等待控件ActivityIndicatorView
4.7.2 進度條ProgressView
4.7 警告和動作選單
4.7.1 警告框AlertView
4.7.2 動作選單ActionSheet
4.8 工具欄和導航欄
4.8.1 工具欄
4.8.2 導航欄
4.9 屏幕布局
4.9.1iPadiPhone屏幕布局
4.9.2 絕對布局和相對布局
4.9.3 使用iOS6 AutoLayout布局
4.9.4 旋轉你的屏幕
4.10 撥選器
4.10.1 日期撥選器
4.10.2 普通撥選器
4.10.3 數據源協議與委托協議
4.11iOS6中的Collection視圖
4.11.1Collection視圖介紹
4.11.2Collection視圖單元格
4.11.3 數據源協議與委托協議

表視圖

5.1 概述
5.1.1 表視圖的組成
5.1.2 表視圖相關類的構成
5.1.3 表視圖分類
5.1.4 單元格組成和樣式
5.1.5 數據源協議與委托協議
5.2 簡單表視圖
5.2.1 創建簡單表視圖
5.2.2 自定義單元格
5.2.3 添加搜索欄
5.3 分節表視圖
5.3.1 添加索引
5.3.2 分組與靜態表
5.4 修改單元格
5.4.1 刪除和插入
5.4.2 移動
5.5 表視圖UI設計模式
5.5.1 分頁模式
5.5.2 下拉刷新模式
5.5.3iOS6下來刷新控件

視圖控製器與導航模式

6.1 概述
6.1.1 視圖控製器種類
6.1.2 導航模式
6.1.3 模態視圖
6.2 平鋪頁麵導航
6.2.1 應用場景
6.2.2 基於分屏控件的導航實現
6.2.3 基於Page的導航實現
6.3 標簽導航
6.3.1 應用場景
6.3.2nib實現
6.3.3 故事板實現
6.4 樹形結構導航
6.4.1 應用場景
6.4.2nib實現
6.4.3 故事板實現
6.5 組合使用導航模式
6.5.1 應用場景
6.5.2 故事板實現

7 iPhoneiPad應用開發的差異

7.1 概述
7.1.1 應用場景差異
7.1.2 設計和開發需注意的問題
7.1.3 構建自適應iPhoneiPad工程
7.2iPad專用API
7.2.1UIPopoverController控製器
7.2.2UISplitViewController控製器
7.2.3 模態視圖專用屬性
7.3Master-Detail應用程序模板
7.3.1nib實現模板
7.3.2 故事板實現模板
7.4Utility應用程序模板
7.4.1nib實現模板
7.4.2 故事板實現模板
7.5 移動平台的分層架構設計
7.5.1 低耦合企業級係統架構設計
7.5.2 移動平台的分層架構設計
7.5.3 基於同一工程的分層
7.5.4 基於一個工作空間不同工程的分層

應用程序的設置

8.1 概述
8.1.1 設置
8.1.2 配置
8.2 應用程序設置包
8.3 設置項目種類
8.3.1 文本字段
8.3.2 開關
8.3.3 滑塊
8.3.4 值列表
8.3.5 子畫麵
8.4 讀取設置

應用程序本地化

9.1 概述
9.1.1 本地化內容
9.1.2 本地化目錄結構
9.2 文本信息本地化
9.2.1 係統按鈕和信息本地化
9.2.2 應用名稱本地化
9.2.3 程序代碼輸出的靜態文本本地化
9.2.4 使用genstring工具
9.3nib和故事板文件本地化
9.3.1 添加本地化
9.3.2 開關使用ibtool工具
9.4 資源文件本地化

10 數據持久化

10.1 概述
10.1.1 沙箱目錄
10.1.2 持久化方式
10.2 屬性列表
10.3 對象歸檔
10.4 使用SQLite數據庫
10.4.1SQLite數據類型
10.4.2 創建數據庫
10.4.3 查詢數據
10.4.4 修改數據
10.5Core Data
10.5.1ORM(對象關係映射)
10.5.2CoreData堆棧
10.5.3 建模和生成實體
10.5.4 采用Core Data分層架構設計
10.5.5 查詢數據
10.5.6 修改數據

11 訪問通訊錄

11.1 概述
11.2 讀取聯係人信息
11.2.1 查詢聯係人記錄
11.2.2 讀取單值屬性
11.2.3 讀取多值屬性
11.2.4 讀取圖片屬性
11.3 寫入聯係人信息
11.3.1 創建聯係人
11.3.2 修改聯係人
11.3.3 刪除聯係人
11.4AddressBook高級API
11.4.1 選擇聯係人
11.4.2 顯示和修改聯係人
11.4.3 創建聯係人

網絡篇

12 訪問Web Service

12.1 概述
12.2 數據交換格式
12.2.1XML文檔結構
12.2.2 解析XML文檔
12.2.3JSON文檔結構
12.2.4JSON數據解碼
12.3REST Web Service
12.3.1HTTPHTTPS協議
12.3.2 同步GET方法請求編程
12.3.3 異步GET方法請求編程
12.3.4POST方法請求編程
12.3.5 調用REST Web Service的插入、修改和刪除方法
12.4  ASIHTTPRequest框架使用
12.4.1 安裝和配置ASIHTTPRequest框架
12.4.2 同步請求
12.4.3 異步請求
12.4.4 使用請求隊列
12.4.5 上傳數據
12.5 反饋網絡信息改善用戶體驗
12.5.1iOS6表視圖刷新控件的使用
12.5.2 使用等待指示器控件
12.5.3 使用網絡等待指示器

13 定位服務與地圖應用開發

13.1 定位服務
13.1.1 定位服務編程
13.1.2 地理信息反編碼
13.1.3 地理信息編碼查詢
13.1.4 關於定位服務的測試
13.2 使用iOS6蘋果地圖
13.2.1 顯示地圖
13.2.2 添加標注
13.2.3 跟蹤用戶位置變化
13.3 使用程序外地圖
13.3.1 調用iOS6蘋果地圖
13.3.2 調用穀歌Web地圖

進階篇

14 iOS中的商業模式

14.1 收費策略
14.1.1iOS如何賺錢
14.1.2 避免定價策略誤區
14.1.3 免費軟件的藝術
14.1.4 適當的時間適當的地點植入你的廣告
14.1.5 嚐試不同的盈利模式
14.2 使用蘋果iAd廣告
14.2.1 橫幅廣告
14.2.2 插頁廣告
14.2.3 查看你的收入
14.3 使用穀歌AdMob廣告
14.3.1 注冊AdMob帳號和管理應用
14.3.2 下載穀歌AdMob Ads SDK和示例代碼
14.3.3 添加AdMob橫幅廣告
14.3.4 添加AdMob插頁廣告
14.3.5 為廣告提交用戶和位置信息
14.3.6 搜索廣告
14.3.7 查看你的收入
14.4 應用內購買
14.4.1 概述
14.4.2 測試環境搭建
14.4.3 在程序中添加實現應用內購買
14.4.4 測試應用內購買

15 找出你程序中的BUG-調試

15.1Xcode調試工具
15.1.1 定位編譯錯誤
15.1.2 查看和顯示日誌
15.1.3 設置和查看斷點
15.1.4 調試工具欄
15.1.5 輸出窗口
15.1.6 變量查看窗口
15.1.7 查看線程
15.2 日誌與斷言輸出
15.2.1 使用NSLog函數
15.2.2 使用NSAssert
15.2.3 移除NSLogNSAssert
15.3LLDB調試工具
15.3.1 斷點命令
15.3.2 觀察點命令
15.3.3 查看變量和計算表達式命令
15.4 異常堆棧報告分析
15.4.1 跟蹤異常堆棧
15.4.2 分析堆棧報告
15.5iOS設備上調試
15.5.1 創建開發者證書
15.5.2 設備注冊
15.5.3 創建App ID
15.5.4 創建配置概要文件
15.5.5 設備調試
15.6Xcode設備管理工具
15.6.1 管理設備配置概要文件
15.6.2 查看設備上應用程序
15.6.3 設備控製台
15.6.4 設備日誌

16 基於測試驅動的iOS開發

16.1 測試驅動的軟件開發概述
16.1.1 測試驅動的軟件開發流程
16.1.2 測試驅動的軟件開發案例
16.2 使用OCUnit測試框架
16.2.1iOS單元測試框架
16.2.2 添加OCUnit到工程
16.2.3 應用測試和邏輯測試
16.2.4 編寫OCUnit測試方法
16.2.5 分析測試報告
16.3 使用GHUnit測試框架
16.3.1 添加GHUnit到工程
16.3.2 編寫GHUnit測試用例
16.3.3 分析測試報告
16.4 使用偽對象
16.4.1 添加OCMock到工程
16.4.2 使用OCMock
16.5iOS單元測試最佳實踐
16.5.1iOS單元測試策略
16.5.2 測試數據持久層
16.5.3 測試業務邏輯層
16.5.4 測試表示層

17 讓你的程序起來——性能優化

17.1 內存優化
17.1.1 內存泄漏問題的解決
17.1.2 查找和解決僵屍對象
17.1.3autorelease的使用問題
17.1.4 響應內存警告
17.1.5 選擇nib還是故事板?
17.2 優化資源文件
17.2.1 圖片文件優化
17.2.2 音頻文件優化
17.3 延遲加載
17.3.1 資源文件的延遲加載
17.3.2 故事板和nib文件的延遲加載
17.4 數據持久化的優化
17.4.1 使用文件
17.4.2 使用SQLite數據庫
17.4.3 使用CoreData
17.5 可重用對象的使用
17.5.1 表視圖中的重用對象
17.5.2Collection視圖中的重用對象
17.5.3 地圖視圖中的重用對象
17.6 並發處理與多核CPU
17.6.1 主線程阻塞問題
17.6.2 選擇NSThread還是GCD
17.7 編譯器和編譯參數
17.7.1GCCLLVM GCCApple LLVM比較
17.7.2ARM架構
17.7.3Optimization Level

18 管理好你的程序代碼——代碼版本控製

18.1 概述
18.1.1 版本控製曆史
18.1.2 基本概念
18.2Git代碼版本控製
18.2.1 服務器搭建
18.2.2Gitolite服務器管理
18.2.3Git常用命令
18.2.3Git分支
18.2.4Git協同開發
18.2.5XcodeGit的配置與使用
18.3GitHub代碼托管服務
18.3.1 創建和配置GitHub賬號
18.3.2 創建代碼庫
18.3.3 派生(fork)代碼庫
18.3.4 使用GitHub協同開發
18.3.5 管理組織

19 把你的應用放到App Store

19.1 收官
19.1.1 添加圖標
19.1.2 添加啟動畫麵
19.1.3 調整應用Target屬性
19.1.4 為發布編譯
19.1.5 應用打包
19.2 發布流程
19.2.1創建應用及基本信息
19.2.2應用定價信息
19.2.3最後信息輸入
19.2.4上傳應用
19.3常見審核不通過的原因
19.3.1 功能問題
19.3.2 用戶界麵問題
19.3.3 商業問題
19.3.4 不當內容
19.3.5 其它問題

實戰篇

20 重構MyNotes應用——iOS網絡通信中的設計模式與架構設計

20.1 移動網絡通訊應用的分層架構設計
20.2 基於委托模式實現
20.2.1 網絡通訊與委托模式
20.2.2 異步網絡通訊中委托模式實現分層架構設計
20.2.3 類圖
20.2.4 時序圖
20.2.5 數據持久層代碼實現
20.2.6 業務邏輯層代碼實現
20.2.7 表示層代碼實現
20.3 基於觀察者模式通知機製實現
20.3.1 觀察者模式的通知機製回顧
20.3.2 異步網絡通訊中通知機製實現分層架構設計
20.3.3 類圖
20.3.4 時序圖
20.3.5 數據持久層代碼實現
20.3.6 業務邏輯層代碼實現
20.3.7 表示層代碼實現

21 iOS敏捷開發項目實戰——2016裏約熱內盧奧運會應用開發及App Store發布

21.1 應用分析與設計
21.1.1 應用概述
21.1.2 需求分析
21.1.3 原型設計
21.1.4 數據庫設計
21.1.5 架構設計
21.2iOS敏捷開發
21.2.1 敏捷開發宣言
21.2.2iOS可以敏捷開發?
21.2.3iOS敏捷開發最佳實踐
21.3 任務1:創建應用基本工作空間
21.3.1 迭代1.1 創建數據持久層工程
21.3.2 迭代1.2 創建業務邏輯層工程
21.3.3 迭代1.3 創建表示層工程
21.3.4 迭代1.4 提交代碼到GitHub
21.4 任務2:信息係統層與持久層開發
21.4.1 迭代2.1 編寫數據庫DDL腳本
21.4.2 迭代2.2 插入初始數據到數據庫
21.4.3 迭代2.3 編寫實體類
21.4.4 迭代2.4 DAOGHUnit單元測試
21.4.5 迭代2.5 編寫DAO
21.4.6 迭代2.6 提交代碼到GitHub
21.5 任務3:業務邏輯層開發
21.5.1 迭代3.1 比賽項目業務邏輯類GHUnit單元測試
21.5.2 迭代3.2 編寫比賽項目業務邏輯類
21.5.3 迭代3.3 比賽日程業務邏輯類GHUnit單元測試
21.5.4 迭代3.4 編寫比賽日程業務邏輯類
21.5.5 迭代3.5 提交代碼到GitHub
21.6 任務4:表示層開發
21.6.1 迭代4.1 根據原型設計初步設計iPad故事板
21.6.2 迭代4.2 根據原型設計初步設計iPhone故事板
21.6.3 迭代4.3 首頁模塊
21.6.4 迭代4.4 比賽項目模塊
21.6.5 迭代4.5 比賽日程模塊
21.6.6 迭代4.6 倒計時模塊表示層
21.6.7 迭代4.7 關於我們模塊表示層
21.6.8 迭代4.8 提交代碼到GitHub
21.7 任務5:收工
21.7.1 迭代5.1 添加圖標
21.7.2 迭代5.2 設計和添加啟動畫麵
21.7.3 迭代5.3 植入穀歌AdMob橫幅廣告
21.7.4 迭代5.4 設備上測試
21.7.5 迭代5.5 提交代碼到GitHub
21.7.6 迭代5.6 App Store應用發布



最後更新:2017-04-03 18:52:09

  上一篇:go JUDE-Community(社區版) 5.5.2 典藏綠色中文版
  下一篇:go JavaScript要逆天了