iOS開(kāi)發(fā)指南-從Hello World到App Store上架-(第4版) 版權(quán)信息
- ISBN:9787115423184
- 條形碼:9787115423184 ; 978-7-115-42318-4
- 裝幀:暫無(wú)
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>
iOS開(kāi)發(fā)指南-從Hello World到App Store上架-(第4版) 本書(shū)特色
本書(shū)是ios開(kāi)發(fā)杰出指南,分5部分講解如何從零起步編寫(xiě)并上線ios應(yīng)用。首部分介紹ios開(kāi)發(fā)基礎(chǔ)知識(shí),包括界面構(gòu)建技術(shù)、基本控件、協(xié)議、表視圖、屏幕適配、導(dǎo)航、分屏多任務(wù)等。第二部分介紹設(shè)計(jì)與架構(gòu)的相關(guān)知識(shí),包括設(shè)計(jì)模式、分層模式、本地?cái)?shù)據(jù)持久化等。第三部分為進(jìn)階篇,包括設(shè)置與配置、本地化、contacts與contactsui框架、數(shù)據(jù)交換格式、web service、定位服務(wù)、蘋(píng)果地圖等內(nèi)容。第四部分介紹測(cè)試、調(diào)試和優(yōu)化等相關(guān)知識(shí)。第五部分為實(shí)戰(zhàn)篇,涵蓋代碼版本管理、項(xiàng)目依賴管理、app store發(fā)布流程,以及兩個(gè)真實(shí)ios應(yīng)用的分析設(shè)計(jì)、編程、測(cè)試與分布過(guò)程。本書(shū)同時(shí)提供swift和objective-c兩版代碼。本書(shū)適合所有ios開(kāi)發(fā)人員學(xué)習(xí)參考。
iOS開(kāi)發(fā)指南-從Hello World到App Store上架-(第4版) 內(nèi)容簡(jiǎn)介
暢銷(xiāo)書(shū)全新升級(jí),累計(jì)印數(shù)60000冊(cè)
swift和objective-c雙語(yǔ)講解
新增通過(guò)代碼構(gòu)建界面、ui測(cè)試、afnetworking和alamofire、cocoapods和carthage等
數(shù)百個(gè)項(xiàng)目案例 兩個(gè)真實(shí)項(xiàng)目開(kāi)發(fā)全過(guò)程
涵蓋ios平臺(tái)架構(gòu)設(shè)計(jì)、測(cè)試驅(qū)動(dòng)開(kāi)發(fā)、性能優(yōu)化、版本控制和程序調(diào)試等
iOS開(kāi)發(fā)指南-從Hello World到App Store上架-(第4版) 目錄
**部分 基礎(chǔ)篇第1章 開(kāi)篇綜述 21.1 ios概述 21.1.1 ios介紹 21.1.2 ios 9新特性 21.2 開(kāi)發(fā)環(huán)境及開(kāi)發(fā)工具 31.3 本書(shū)約定 41.3.1 案例代碼約定 41.3.2 圖示的約定 51.3.3 方法命名約定 61.3.4 構(gòu)造函數(shù)命名約定 71.3.5 錯(cuò)誤處理約定 8第2章 **個(gè)ios應(yīng)用程序 102.1 創(chuàng)建helloworld工程 102.1.1 創(chuàng)建工程 102.1.2 xcode中的ios工程模板 142.1.3 應(yīng)用剖析 152.2 應(yīng)用生命周期 172.2.1 非運(yùn)行狀態(tài)——應(yīng)用啟動(dòng)場(chǎng)景 192.2.2 點(diǎn)擊home鍵——應(yīng)用退出場(chǎng)景 202.2.3 掛起重新運(yùn)行場(chǎng)景 222.2.4 內(nèi)存清除:應(yīng)用終止場(chǎng)景 232.3 設(shè)置產(chǎn)品屬性 232.3.1 xcode中的工程和目標(biāo) 232.3.2 設(shè)置常用的產(chǎn)品屬性 262.4 ios api簡(jiǎn)介 272.4.1 api概述 272.4.2 如何使用api幫助 292.5 小結(jié) 32第3章 cocoa touch框架與構(gòu)建應(yīng)用界面 333.1 視圖控制器 333.1.1 視圖控制器種類(lèi) 333.1.2 視圖的生命周期 333.2 視圖 353.2.1 uiview繼承層次結(jié)構(gòu) 353.2.2 視圖分類(lèi) 373.2.3 應(yīng)用界面構(gòu)建層次 373.3 使用故事板構(gòu)建界面 383.3.1 什么是故事板 393.3.2 場(chǎng)景和過(guò)渡 413.4 使用xib文件構(gòu)建界面 423.4.1 重構(gòu)helloworld 423.4.2 xib與故事板比較 453.5 使用純代碼構(gòu)建界面 453.5.1 重構(gòu)helloworld 463.5.2 視圖的幾個(gè)重要屬性 473.6 3種構(gòu)建界面技術(shù)討論 493.6.1 所見(jiàn)即所得 493.6.2 原型驅(qū)動(dòng)開(kāi)發(fā) 493.6.3 團(tuán)隊(duì)協(xié)同開(kāi)發(fā) 493.7 小結(jié) 50第4章 uiview與視圖 514.1 標(biāo)簽與按鈕 514.1.1 interface builder實(shí)現(xiàn) 514.1.2 代碼實(shí)現(xiàn) 554.2 事件處理 564.2.1 interface builder實(shí)現(xiàn) 564.2.2 代碼實(shí)現(xiàn) 594.3 訪問(wèn)視圖 604.3.1 interface builder實(shí)現(xiàn) 604.3.2 代碼實(shí)現(xiàn) 624.4 textfield和textview 634.4.1 interface builder實(shí)現(xiàn) 644.4.2 代碼實(shí)現(xiàn) 654.4.3 鍵盤(pán)的打開(kāi)和關(guān)閉 674.4.4 關(guān)閉和打開(kāi)鍵盤(pán)的通知 684.4.5 鍵盤(pán)的種類(lèi) 694.5 開(kāi)關(guān)控件、分段控件和滑塊控件 704.5.1 開(kāi)關(guān)控件 714.5.2 分段控件 724.5.3 滑塊控件 744.6 web視圖:wkwebview類(lèi) 764.7 警告框和操作表 804.7.1 uialertcontroller實(shí)現(xiàn)警告框 814.7.2 uialertcontroller實(shí)現(xiàn)操作表 834.8 等待相關(guān)的控件與進(jìn)度條 844.8.1 活動(dòng)指示器activityindicatorview 854.8.2 進(jìn)度條progressview 874.9 工具欄和導(dǎo)航欄 904.9.1 工具欄 904.9.2 導(dǎo)航欄 944.10 小結(jié) 98第5章 委托協(xié)議、數(shù)據(jù)源協(xié)議與高級(jí)視圖 995.1 視圖中的委托協(xié)議和數(shù)據(jù)源協(xié)議 995.2 選擇器 995.2.1 日期選擇器 995.2.2 普通選擇器 1045.2.3 數(shù)據(jù)源協(xié)議與委托協(xié)議 1095.3 集合視圖 1115.4 實(shí)例:interface builder實(shí)現(xiàn)奧運(yùn)會(huì)比賽項(xiàng)目 1125.4.1 添加集合視圖 1135.4.2 添加集合視圖單元格 1145.4.3 數(shù)據(jù)源協(xié)議與委托協(xié)議 1185.5 實(shí)例:代碼實(shí)現(xiàn)奧運(yùn)會(huì)比賽項(xiàng)目 1205.5.1 添加集合視圖 1205.5.2 自定義集合視圖單元格 1225.6 小結(jié) 123第6章 表視圖 1246.1 概述 1246.1.1 表視圖的組成 1246.1.2 表視圖的相關(guān)類(lèi) 1256.1.3 表視圖分類(lèi) 1256.1.4 單元格的組成和樣式 1276.1.5 數(shù)據(jù)源協(xié)議與委托協(xié)議 1296.2 簡(jiǎn)單表視圖 1296.2.1 實(shí)現(xiàn)協(xié)議方法 1306.2.2 uiviewcontroller根視圖控制器 1306.2.3 uitableviewcontroller根視圖控制器 1376.3 自定義表視圖單元格 1406.3.1 interface builder實(shí)現(xiàn) 1416.3.2 代碼實(shí)現(xiàn) 1456.4 添加搜索欄 1466.5 分節(jié)表視圖 1506.5.1 添加索引 1506.5.2 分組 1536.6 靜態(tài)表與界面布局 1546.7 插入和刪除單元格 1606.7.1 interface builder實(shí)現(xiàn) 1626.7.2 代碼實(shí)現(xiàn) 1676.8 移動(dòng)單元格 1696.9 表視圖ui設(shè)計(jì)模式 1716.9.1 分頁(yè)模式 1716.9.2 下拉刷新模式 1716.9.3 下拉刷新控件 1726.10 小結(jié) 174第7章 界面布局與屏幕適配 1757.1 界面布局概述 1757.2 ios界面布局設(shè)計(jì)模式 1767.2.1 表單布局模式 1767.2.2 列表布局模式 1767.2.3 網(wǎng)格布局模式 1777.3 傳統(tǒng)布局技術(shù) 1777.4 auto layout布局技術(shù) 1797.4.1 interface builder中管理auto layout約束 1797.4.2 實(shí)例:auto layout布局 1807.5 ios 9堆視圖stackview 1857.5.1 堆視圖與布局 1857.5.2 實(shí)例:堆視圖布局 1867.6 ios 屏幕的多樣性 1917.6.1 ios屏幕介紹 1917.6.2 ios的3種分辨率 1927.6.3 獲得ios設(shè)備屏幕信息 1937.7 size class與ios多屏幕適配 1947.7.1 interface builder中使用size class 1957.7.2 size class的九宮格 1957.7.3 實(shí)例:使用size class 1967.8 資源目錄與圖片資源適配 2017.9 小結(jié) 204第8章 視圖控制器與導(dǎo)航模式 2058.1 概述 2058.1.1 視圖控制器的種類(lèi) 2058.1.2 導(dǎo)航模式 2058.2 模態(tài)視圖 2078.2.1 interface builder實(shí)現(xiàn) 2088.2.2 代碼實(shí)現(xiàn) 2148.3 平鋪導(dǎo)航 2158.3.1 應(yīng)用場(chǎng)景 2158.3.2 基于分屏導(dǎo)航的實(shí)現(xiàn) 2178.3.3 基于電子書(shū)導(dǎo)航的實(shí)現(xiàn) 2238.4 標(biāo)簽導(dǎo)航 2288.4.1 應(yīng)用場(chǎng)景 2298.4.2 interface builder實(shí)現(xiàn) 2308.4.3 代碼實(shí)現(xiàn) 2348.5 樹(shù)形結(jié)構(gòu)導(dǎo)航 2358.5.1 應(yīng)用場(chǎng)景 2358.5.2 interface builder實(shí)現(xiàn) 2368.5.3 代碼實(shí)現(xiàn) 2448.6 組合使用導(dǎo)航模式 2458.6.1 應(yīng)用場(chǎng)景 2468.6.2 interface builder實(shí)現(xiàn) 2468.6.3 代碼實(shí)現(xiàn) 2548.7 小結(jié) 257第9章 ipad應(yīng)用開(kāi)發(fā) 2589.1 ipad與iphone應(yīng)用開(kāi)發(fā)的差異 2589.1.1 應(yīng)用場(chǎng)景不同 2589.1.2 導(dǎo)航模式不同 2589.1.3 api不同 2589.2 ipad樹(shù)形結(jié)構(gòu)導(dǎo)航 2599.2.1 郵件應(yīng)用中的樹(shù)形結(jié)構(gòu)導(dǎo)航 2599.2.2 master-detail應(yīng)用程序模板 2609.2.3 interface builder實(shí)現(xiàn)splitviewsample案例 2669.2.4 代碼實(shí)現(xiàn)splitviewsample案例 2709.3 ipad模態(tài)視圖 2739.3.1 郵件應(yīng)用中的模態(tài)導(dǎo)航 2739.3.2 ipad模態(tài)導(dǎo)航相關(guān)api 2759.3.3 interface builder實(shí)現(xiàn)modalview-sample案例 2779.3.4 代碼實(shí)現(xiàn)modalviewsample案例 2819.4 popover(浮動(dòng)層)視圖 2849.4.1 popover相關(guān)api 2849.4.2 popoverviewsample案例 2859.5 ios 9分屏多任務(wù) 2899.5.1 slide over多任務(wù) 2899.5.2 分屏視圖多任務(wù) 2909.5.3 畫(huà)中畫(huà)多任務(wù) 2939.6 ipad分屏多任務(wù)適配開(kāi)發(fā) 2939.6.1 分屏多任務(wù)前提條件 2939.6.2 分屏多任務(wù)適配 2949.7 小結(jié) 295第二部分 設(shè)計(jì)與架構(gòu)篇第10章 ios常用設(shè)計(jì)模式 29810.1 單例模式 29810.1.1 問(wèn)題提出 29810.1.2 objective-c實(shí)現(xiàn)原理 29810.1.3 swift實(shí)現(xiàn)原理 29910.1.4 應(yīng)用案例 30010.2 委托模式 30110.2.1 問(wèn)題提出 30110.2.2 實(shí)現(xiàn)原理 30310.2.3 應(yīng)用案例 30610.3 觀察者模式 30910.3.1 問(wèn)題提出 30910.3.2 實(shí)現(xiàn)原理 31010.3.3 通知機(jī)制和kvo機(jī)制 31110.4 再談mvc模式 31710.4.1 mvc模式概述 31710.4.2 cocoa touch中的mvc模式 31810.5 小結(jié) 320第11章 ios分層架構(gòu)設(shè)計(jì) 32111.1 低耦合企業(yè)級(jí)系統(tǒng)架構(gòu)設(shè)計(jì) 32111.2 ios分層架構(gòu)設(shè)計(jì) 32211.2.1 工程與工作空間 32211.2.2 靜態(tài)鏈接庫(kù) 32311.2.3 框架 32311.2.4 16種分層模式 32411.3 實(shí)例:mynotes應(yīng)用 32511.4 基于同一工程的分層 32711.4.1 采用純swift語(yǔ)言實(shí)現(xiàn):psss模式 32711.4.2 采用純objective-c語(yǔ)言實(shí)現(xiàn):pooo模式 33011.4.3 采用swift調(diào)用objective-c的混合搭配實(shí)現(xiàn):psoo模式 33411.5 基于同一工作空間靜態(tài)鏈接庫(kù)實(shí)現(xiàn)的wlsoo模式 33511.5.1 使用工作空間 33511.5.2 添加數(shù)據(jù)持久層工程 33611.5.3 建立業(yè)務(wù)邏輯層與數(shù)據(jù)持久層依賴關(guān)系 33711.5.4 建立表示層與業(yè)務(wù)邏輯層依賴關(guān)系 33911.6 基于同一工作空間框架實(shí)現(xiàn)的wfsss模式 33911.6.1 創(chuàng)建框架工程 34011.6.2 建立依賴關(guān)系 34111.6.3 代碼重構(gòu) 34211.7 基于同一工作空間框架實(shí)現(xiàn)的wfooo模式 34411.7.1 設(shè)置public頭文件 34411.7.2 設(shè)置保護(hù)傘頭文件 34511.7.3 代碼重構(gòu) 34511.8 基于同一工作空間框架實(shí)現(xiàn)的wfsoo模式 34611.8.1 設(shè)置public頭文件 34611.8.2 設(shè)置保護(hù)傘頭文件 34611.8.3 建立表示層與業(yè)務(wù)邏輯層依賴關(guān)系 34611.8.4 代碼重構(gòu) 34611.9 基于同一工作空間框架實(shí)現(xiàn)的wfoss模式 34611.9.1 設(shè)置public頭文件 34611.9.2 設(shè)置swift代碼嵌入應(yīng)用 34711.9.3 代碼重構(gòu) 34711.10 基于同一個(gè)工程不同目標(biāo)框架實(shí)現(xiàn)的tfsoo模式 34811.10.1 使用目標(biāo) 34811.10.2 添加框架目標(biāo) 34811.11 小結(jié) 349第12章 數(shù)據(jù)持久化 35012.1 概述 35012.1.1 沙箱目錄 35012.1.2 持久化方式 35112.2 屬性列表 35112.3 對(duì)象歸檔 35712.4 使用sqlite數(shù)據(jù)庫(kù) 36112.4.1 sqlite數(shù)據(jù)類(lèi)型 36112.4.2 配置objective-c框架工程環(huán)境 36212.4.3 配置swift框架工程環(huán)境 36212.4.4 創(chuàng)建數(shù)據(jù)庫(kù) 36412.4.5 查詢數(shù)據(jù) 36512.4.6 修改數(shù)據(jù) 36812.5 core data 37012.5.1 orm 37012.5.2 core data棧 37112.5.3 建模和生成實(shí)體 37412.5.4 采用core data分層架構(gòu)設(shè)計(jì) 38012.5.5 查詢數(shù)據(jù) 38212.5.6 修改數(shù)據(jù) 38412.6 小結(jié) 385第三部分 進(jìn) 階 篇第13章 應(yīng)用程序設(shè)置 38813.1 概述 38813.1.1 設(shè)置 38813.1.2 配置 38913.2 應(yīng)用程序設(shè)置包 39013.3 設(shè)置項(xiàng)目種類(lèi) 39213.3.1 文本字段 39513.3.2 開(kāi)關(guān) 39813.3.3 滑塊 39913.3.4 值列表 40013.3.5 子界面 40113.4 讀取設(shè)置 40313.5 小結(jié) 405第14章 本地化 40614.1 概述 40614.1.1 需要本地化的內(nèi)容 40614.1.2 本地化目錄結(jié)構(gòu) 40914.2 文本信息本地化 41014.2.1 系統(tǒng)按鈕和信息本地化 41014.2.2 應(yīng)用名稱(chēng)本地化 41114.2.3 程序代碼輸出的靜態(tài)文本本地化 41314.2.4 使用genstring工具 41414.3 故事板和xib文件本地化 41514.3.1 使用base internationalization技術(shù) 41514.3.2 auto layout與本地化 41714.4 資源文件本地化 41914.4.1 圖片資源文件本地化 41914.4.2 聲音資源文件本地化 42014.5 小結(jié) 421第15章 ios 9中訪問(wèn)通訊錄 42215.1 通訊錄的安全訪問(wèn)設(shè)置 42215.2 使用contacts框架讀取聯(lián)系人信息 42315.2.1 查詢聯(lián)系人 42315.2.2 讀取單值屬性 42615.2.3 讀取多值屬性 42815.2.4 讀取圖片屬性 43015.3 使用contacts框架寫(xiě)入聯(lián)系人信息 43015.3.1 創(chuàng)建聯(lián)系人 43115.3.2 修改聯(lián)系人 43315.3.3 刪除聯(lián)系人 43415.4 使用系統(tǒng)提供界面 43515.4.1 選擇聯(lián)系人 43515.4.2 顯示和修改聯(lián)系人 43815.4.3 創(chuàng)建聯(lián)系人 44115.5 小結(jié) 444第16章 數(shù)據(jù)交換格式 44516.1 xml數(shù)據(jù)交換格式 44616.1.1 xml文檔結(jié)構(gòu) 44616.1.2 解析xml文檔 44716.2 實(shí)例:mynotes應(yīng)用xml 44816.2.1 使用nsxml解析 45016.2.2 使用tbxml解析 45316.3 json數(shù)據(jù)交換格式 45916.3.1 json文檔結(jié)構(gòu) 45916.3.2 json數(shù)據(jù)編碼/解碼 46016.4 實(shí)例:mynotes應(yīng)用json解碼 46116.5 小結(jié) 462第17章 rest web service 46317.1 概述 46317.2 使用nsurlsession 46417.2.1 nsurlsession api 46417.2.2 簡(jiǎn)單會(huì)話實(shí)現(xiàn)get請(qǐng)求 46517.2.3 默認(rèn)會(huì)話實(shí)現(xiàn)get請(qǐng)求 46817.2.4 實(shí)現(xiàn)post請(qǐng)求 46917.2.5 下載數(shù)據(jù) 47017.3 實(shí)例:使用nsurlsession重構(gòu)mynotes案例 47317.3.1 插入方法調(diào)用 47317.3.2 修改方法調(diào)用 47417.3.3 刪除方法調(diào)用 47517.4 使用afnetworking框架 47717.4.1 比較asihttprequest、afnetworking和mknetworkkit 47717.4.2 安裝和配置afnetworking框架 47817.4.3 實(shí)現(xiàn)get請(qǐng)求 47917.4.4 實(shí)現(xiàn)post請(qǐng)求 48017.4.5 下載數(shù)據(jù) 48117.4.6 上傳數(shù)據(jù) 48217.5 使用為swift設(shè)計(jì)的網(wǎng)絡(luò)框架:alamofire 48417.5.1 安裝和配置alamofire框架 48417.5.2 實(shí)現(xiàn)get請(qǐng)求 48517.5.3 實(shí)現(xiàn)post請(qǐng)求 48617.5.4 下載數(shù)據(jù) 48717.5.5 上傳數(shù)據(jù) 48817.6 反饋網(wǎng)絡(luò)信息改善用戶體驗(yàn) 48917.6.1 使用下拉刷新控件改善用戶體驗(yàn) 48917.6.2 使用活動(dòng)指示器控件 49217.6.3 使用網(wǎng)絡(luò)活動(dòng)指示器 49417.7 小結(jié) 494第18章 定位服務(wù) 49518.1 定位服務(wù)概述 49518.1.1 定位服務(wù)編程 49618.1.2 測(cè)試定位服務(wù) 49918.2 管理定位服務(wù) 50318.2.1 應(yīng)用啟動(dòng)與停止下的定位服務(wù)管理 50418.2.2 視圖切換下的定位服務(wù)管理 50418.2.3 應(yīng)用前后臺(tái)切換下的定位服務(wù)管理 50518.2.4 設(shè)置自動(dòng)暫停位置服務(wù) 50718.2.5 ios 9后臺(tái)位置服務(wù)管理 50718.3 地理信息編碼與反編碼 50818.3.1 地理信息反編碼 50818.3.2 實(shí)例:地理信息反編碼 50918.3.3 地理信息編碼查詢 51018.3.4 實(shí)例:地理信息編碼查詢 51018.4 微定位技術(shù)ibeacon 51218.4.1 微定位與地理圍欄 51218.4.2 ibeacon技術(shù)概述 51218.4.3 實(shí)例:使用ibeacon技術(shù)實(shí)現(xiàn)微定位 51318.5 小結(jié) 519第19章 蘋(píng)果地圖應(yīng)用 52019.1 使用ios蘋(píng)果地圖 52019.1.1 顯示地圖 52019.1.2 顯示3d地圖 52419.2 添加標(biāo)注 52519.2.1 實(shí)現(xiàn)查詢 52619.2.2 在地圖上添加標(biāo)注 52819.3 跟蹤用戶位置變化 52919.4 使用程序外地圖 53019.5 小結(jié) 533第四部分 測(cè)試、調(diào)試和優(yōu)化篇第20章 找出程序中的bug——調(diào)試 53620.1 xcode調(diào)試工具 53620.1.1 定位編譯錯(cuò)誤 53620.1.2 查看和顯示日志 53720.1.3 設(shè)置和查看斷點(diǎn) 53920.1.4 調(diào)試工具 54420.1.5 輸出窗口 54520.1.6 變量查看窗口 54620.1.7 查看線程 54720.2 lldb調(diào)試工具 54820.2.1 斷點(diǎn)命令 54820.2.2 觀察點(diǎn)命令 55020.2.3 查看變量和計(jì)算表達(dá)式命令 55220.3 日志與斷言輸出 55420.3.1 使用nslog函數(shù) 55420.3.2 使用斷言 55520.4 異常棧報(bào)告分析 55620.4.1 跟蹤異常棧 55620.4.2 分析棧報(bào)告 55820.5 在ios設(shè)備上調(diào)試 55920.5.1 xcode設(shè)置 55920.5.2 設(shè)備設(shè)置 56020.6 xcode設(shè)備管理工具 56220.6.1 查看設(shè)備上的應(yīng)用程序 56220.6.2 設(shè)備日志 56420.7 小結(jié) 564第21章 ios測(cè)試驅(qū)動(dòng)與單元測(cè)試 56521.1 測(cè)試驅(qū)動(dòng)的軟件開(kāi)發(fā)概述 56521.1.1 測(cè)試驅(qū)動(dòng)的軟件開(kāi)發(fā)流程 56521.1.2 測(cè)試驅(qū)動(dòng)的軟件開(kāi)發(fā)案例 56621.1.3 ios單元測(cè)試框架 56721.2 使用xctest測(cè)試框架 56821.2.1 添加xctest到工程 56821.2.2 swift版本中設(shè)置編譯目標(biāo)成員 57021.2.3 編寫(xiě)xctest測(cè)試方法 57021.2.4 運(yùn)行測(cè)試用例目標(biāo) 57321.2.5 分析測(cè)試報(bào)告 57521.3 異步單元測(cè)試 57621.4 性能測(cè)試 58021.4.1 swift版本中配置測(cè)試環(huán)境 58021.4.2 測(cè)試用例代碼 58021.4.3 分析測(cè)試結(jié)果 58121.5 ios單元測(cè)試*佳實(shí)踐 58321.5.1 配置測(cè)試數(shù)據(jù)持久層 58321.5.2 編寫(xiě)數(shù)據(jù)持久層測(cè)試用例 58421.5.3 運(yùn)行測(cè)試數(shù)據(jù)持久層測(cè)試用例 58721.5.4 配置測(cè)試業(yè)務(wù)邏輯層 58821.5.5 編寫(xiě)業(yè)務(wù)邏輯層測(cè)試用例 58821.6 小結(jié) 589第22章 ios應(yīng)用ui測(cè)試 59022.1 ui測(cè)試概述 59022.2 添加ui測(cè)試到工程 59022.2.1 創(chuàng)建工程時(shí)添加ui測(cè)試框架 59022.2.2 在現(xiàn)有工程中添加ui測(cè)試用例目標(biāo) 59122.3 錄制腳本 59322.3.1 錄制之前的準(zhǔn)備 59322.3.2 錄制過(guò)程 59322.3.3 修改錄制腳本 59522.4 訪問(wèn)ui元素 59522.4.1 ui元素層次結(jié)構(gòu)樹(shù) 59522.4.2 ui測(cè)試中相關(guān)api 59722.5 表示層測(cè)試*佳實(shí)踐 59822.5.1 配置ui測(cè)試用例目標(biāo) 59822.5.2 編寫(xiě)ui測(cè)試用例 59922.6 小結(jié) 602第23章 讓你的程序“飛”起來(lái)——性能優(yōu)化 60323.1 內(nèi)存優(yōu)化 60323.1.1 內(nèi)存管理 60323.1.2 使用analyze工具檢查內(nèi)存泄漏 60323.1.3 使用instruments工具檢查內(nèi)存泄漏 60823.1.4 使用instruments工具檢查僵尸對(duì)象 61223.1.5 autorelease的使用問(wèn)題 61523.1.6 響應(yīng)內(nèi)存警告 61623.2 優(yōu)化資源文件 61723.2.1 圖片文件優(yōu)化 61823.2.2 音頻文件優(yōu)化 61923.3 延遲加載 62023.3.1 資源文件的延遲加載 62023.3.2 故事板文件的延遲加載 62423.3.3 xib文件的延遲加載 62623.4 數(shù)據(jù)持久化的優(yōu)化 62823.4.1 使用文件 62823.4.2 使用sqlite數(shù)據(jù)庫(kù) 63123.4.3 使用core data 63223.5 可重用對(duì)象的使用 63423.5.1 表視圖中的可重用對(duì)象 63523.5.2 集合視圖中的可重用對(duì)象 63623.5.3 地圖視圖中的可重用對(duì)象 63823.6 并發(fā)處理與多核cpu 63823.6.1 主線程阻塞問(wèn)題 63823.6.2 選擇nsthread還是gcd 63923.7 小結(jié) 640第五部分 實(shí) 戰(zhàn) 篇第24章 管理好你的程序代碼——代碼版本控制 64224.1 概述 64224.1.1 版本控制歷史 64224.1.2 基本概念 64324.2 git代碼版本控制 64324.2.1 服務(wù)器搭建 64324.2.2 gitolite服務(wù)器管理 64524.2.3 git常用命令 64724.2.4 git分支 64924.2.5 git協(xié)同開(kāi)發(fā) 65324.2.6 xcode中g(shù)it的配置與使用 65624.3 github代碼托管服務(wù) 66324.3.1 創(chuàng)建和配置github賬號(hào) 66324.3.2 創(chuàng)建代碼庫(kù) 66624.3.3 刪除代碼庫(kù) 66824.3.4 派生代碼庫(kù) 66924.3.5 使用github協(xié)同開(kāi)發(fā) 67124.3.6 管理組織 67724.4 小結(jié) 680第25章 項(xiàng)目依賴管理 68125.1 使用cocoapods工具管理依賴 68125.1.1 安裝cocoapods 68125.1.2 搜索庫(kù) 68225.1.3 項(xiàng)目與第三方庫(kù)搭配形式 68325.1.4 示例:靜態(tài)鏈接庫(kù)形式管理依賴 68425.1.5 示例:框架形式管理依賴 68625.2 使用carthage工具管理依賴 68725.2.1 安裝carthage 68825.2.2 項(xiàng)目與第三方庫(kù)搭配形式 68825.2.3 cartfile文件 68825.2.4 示例:重構(gòu)mynotes依賴關(guān)系 68925.3 小結(jié) 691第26章 重構(gòu)mynotes應(yīng)用——ios網(wǎng)絡(luò)通信中的設(shè)計(jì)模式與架構(gòu)設(shè)計(jì) 69226.1 移動(dòng)網(wǎng)絡(luò)通信應(yīng)用的分層架構(gòu)設(shè)計(jì) 69226.2 objective-c版本:在數(shù)據(jù)持久層中添加和配置afnetworking 69326.2.1 用cocoapods工具管理依賴 69326.2.2 測(cè)試依賴 69326.3 swift版本:在數(shù)據(jù)持久層中添加和配置alamofire 69426.3.1 用carthage工具管理依賴 69426.3.2 測(cè)試依賴 69526.4 基于委托模式實(shí)現(xiàn) 69526.4.1 網(wǎng)絡(luò)通信與委托模式 69626.4.2 在異步網(wǎng)絡(luò)通信中使用委托模式實(shí)現(xiàn)分層架構(gòu)設(shè)計(jì) 69626.4.3 類(lèi)圖 69726.4.4 時(shí)序圖 69926.4.5 數(shù)據(jù)持久層重構(gòu)(objective-c版本) 70226.4.6 數(shù)據(jù)持久層重構(gòu)(swift版本) 70526.4.7 業(yè)務(wù)邏輯層的代碼實(shí)現(xiàn) 70726.4.8 表示層的代碼實(shí)現(xiàn) 71026.5 基于觀察者模式的通知機(jī)制實(shí)現(xiàn) 71626.5.1 觀察者模式的通知機(jī)制回顧 71626.5.2 異步網(wǎng)絡(luò)通信中通知機(jī)制的分層架構(gòu)設(shè)計(jì) 71626.5.3 類(lèi)圖 71726.5.4 時(shí)序圖 71926.5.5 數(shù)據(jù)持久層重構(gòu)(objective-c版本) 72226.5.6 數(shù)據(jù)持久層重構(gòu)(swift版本) 72326.5.7 業(yè)務(wù)邏輯層的代碼實(shí)現(xiàn) 72526.5.8 表示層的代碼實(shí)現(xiàn) 72626.6 小結(jié) 731第27章 把你的應(yīng)用放到app store上 73227.1 收官 73227.1.1 在xcode 中添加圖標(biāo) 73227.1.2 在xcode中添加啟動(dòng)界面 73427.1.3 調(diào)整identity和deployment info屬性 73827.2 為發(fā)布進(jìn)行編譯 73927.2.1 創(chuàng)建開(kāi)發(fā)者證書(shū) 73927.2.2 創(chuàng)建app id 74427.2.3 創(chuàng)建描述文件 74527.2.4 發(fā)布編譯 74827.3 發(fā)布上架 75027.3.1 創(chuàng)建應(yīng)用 75027.3.2 應(yīng)用定價(jià) 75327.3.3 基本信息輸入 75427.3.4 上傳應(yīng)用 75727.3.5 提交審核 75927.4 常見(jiàn)審核不通過(guò)的原因 76127.4.1 功能問(wèn)題 76127.4.2 用戶界面問(wèn)題 76127.4.3 商業(yè)問(wèn)題 76127.4.4 不當(dāng)內(nèi)容 76127.4.5 其他問(wèn)題 76227.5 小結(jié) 762第28章 ios敏捷開(kāi)發(fā)項(xiàng)目實(shí)戰(zhàn)——2016里約熱內(nèi)盧奧運(yùn)會(huì)應(yīng)用開(kāi)發(fā)及appstore發(fā)布 76328.1 應(yīng)用分析與設(shè)計(jì) 76328.1.1 應(yīng)用概述 76328.1.2 需求分析 76328.1.3 原型設(shè)計(jì) 76428.1.4 數(shù)據(jù)庫(kù)設(shè)計(jì) 76528.1.5 架構(gòu)設(shè)計(jì) 76628.2 ios敏捷開(kāi)發(fā) 76628.2.1 敏捷開(kāi)發(fā)宣言 76628.2.2 ios適合敏捷開(kāi)發(fā)? 76728.2.3 ios敏捷開(kāi)發(fā)*佳實(shí)踐 76728.3 任務(wù)1:創(chuàng)建應(yīng)用工作空間和工程 76928.3.1 迭代1.1:創(chuàng)建工作空間 76928.3.2 迭代1.2:發(fā)布到github 76928.4 任務(wù)2:信息系統(tǒng)層與持久層開(kāi)發(fā) 77028.4.1 迭代2.1:編寫(xiě)數(shù)據(jù)庫(kù)ddl腳本 77028.4.2 迭代2.2:插入初始數(shù)據(jù)到數(shù)據(jù)庫(kù) 77028.4.3 迭代2.3:數(shù)據(jù)庫(kù)版本控制 77128.4.4 迭代2.4:配置持久層工程persistencelayer 77128.4.5 迭代2.5:編寫(xiě)實(shí)體類(lèi) 77228.4.6 迭代2.6:編寫(xiě)dao類(lèi)單元測(cè)試用例類(lèi) 77328.4.7 迭代2.7:編寫(xiě)dao類(lèi) 77528.4.8 迭代2.8:數(shù)據(jù)庫(kù)幫助類(lèi)dbhelper 77928.4.9 迭代2.9:配置及運(yùn)行持久層測(cè)試用例目標(biāo) 78128.4.10 迭代2.10:發(fā)布到github 78228.5 任務(wù)3:業(yè)務(wù)邏輯層開(kāi)發(fā) 78228.5.1 迭代3.1:比賽項(xiàng)目業(yè)務(wù)邏輯類(lèi)xctest單元測(cè)試 78328.5.2 迭代3.2:編寫(xiě)比賽項(xiàng)目業(yè)務(wù)邏輯類(lèi) 78428.5.3 迭代3.3:比賽日程業(yè)務(wù)邏輯類(lèi)xctest單元測(cè)試 78528.5.4 迭代3.4:編寫(xiě)比賽日程業(yè)務(wù)邏輯類(lèi) 78628.5.5 迭代3.5:發(fā)布到github 78728.6 任務(wù)4:表示層開(kāi)發(fā) 78828.6.1 迭代4.1:使用資源目錄管理圖片和圖標(biāo)資源 78828.6.2 迭代4.2:根據(jù)原型設(shè)計(jì)初步設(shè)計(jì)故事板 78928.6.3 迭代4.3:“首頁(yè)”模塊 79028.6.4 迭代4.4:“比賽項(xiàng)目”模塊 79128.6.5 迭代4.5:“比賽日程”模塊 79528.6.6 迭代4.6:“倒計(jì)時(shí)”模塊表示層 79728.6.7 迭代4.7:“關(guān)于我們”模塊表示層 80028.6.8 迭代4.8:發(fā)布到github 80028.7 任務(wù)5:收工 80028.7.1 迭代5.1:添加圖標(biāo) 80028.7.2 迭代5.2:設(shè)計(jì)和添加啟動(dòng)界面 80128.7.3 迭代5.3:性能測(cè)試與改善 80128.7.4 迭代5.4:發(fā)布到github上 80228.7.5 迭代5.5:在app store上發(fā)布應(yīng)用 80228.8 小結(jié) 802
展開(kāi)全部
iOS開(kāi)發(fā)指南-從Hello World到App Store上架-(第4版) 相關(guān)資料
“本書(shū)在前一版的基礎(chǔ)上針對(duì)ios 9進(jìn)行了更新。書(shū)中以swift和objective-c兩種語(yǔ)言進(jìn)行講解,內(nèi)容涉及ios開(kāi)發(fā)的各個(gè)方面,可以幫助開(kāi)發(fā)者快速開(kāi)發(fā)移動(dòng)應(yīng)用。本書(shū)重點(diǎn)突出,并且提供了大量實(shí)例源碼和詳細(xì)插圖,有助于開(kāi)發(fā)者更好地理解書(shū)中的內(nèi)容。它不僅是初級(jí)開(kāi)發(fā)者的入門(mén)教程,也可以作為高級(jí)開(kāi)發(fā)者在閑暇之余翻閱的工具書(shū)。”——cocoachina社區(qū)
“本書(shū)連續(xù)4年被51cto社區(qū)評(píng)為ios最受歡迎的圖書(shū),一直作為“51cto學(xué)院ios就業(yè)培訓(xùn)班”指定教材,深受51cto社區(qū)廣大開(kāi)發(fā)者和愛(ài)好者的好評(píng)和認(rèn)可,有幾萬(wàn)人通過(guò)此書(shū)掌握ios技術(shù),走上ios開(kāi)發(fā)之路。”——曹亞莉,51cto博客總編、51cto學(xué)院高級(jí)產(chǎn)品運(yùn)營(yíng)經(jīng)理
“認(rèn)識(shí)關(guān)老師多年,并感動(dòng)于他對(duì)移動(dòng)終端開(kāi)發(fā)與推廣的熱情!本書(shū)涵蓋了ios 9的相關(guān)內(nèi)容,通俗易懂,深入淺出,是ios開(kāi)發(fā)人員手頭必備的參考書(shū)。本書(shū)不僅側(cè)重應(yīng)用,而且兼顧理論,不可多得,書(shū)中同時(shí)提供了大量的實(shí)戰(zhàn)案例,便于動(dòng)手實(shí)踐,是一本不可或缺的ios經(jīng)典好書(shū)。”——柯博文,美國(guó)硅谷looptek公司cto,《大富翁》游戲主程,swift開(kāi)源技術(shù)專(zhuān)家
“本書(shū)是第4版,繼續(xù)秉承了雙語(yǔ)(swift和objective-c)講解,兩種語(yǔ)言對(duì)照學(xué)習(xí),能夠快速上手。作者根據(jù)前3版讀者的反饋,增加了通過(guò)代碼構(gòu)建界面相關(guān)知識(shí)點(diǎn),同時(shí)也保留了通過(guò)故事板構(gòu)建界面的內(nèi)容。此外,還增加了ui測(cè)試、流行網(wǎng)絡(luò)通信框架afnetworking和alamofire、項(xiàng)目依賴管理工具cocoapods和carthage等內(nèi)容,摒棄了一些過(guò)時(shí)框架和技術(shù)。本書(shū)是一本廣受ios開(kāi)發(fā)人員好評(píng)的圖書(shū)。”——智捷課堂
iOS開(kāi)發(fā)指南-從Hello World到App Store上架-(第4版) 作者簡(jiǎn)介
關(guān)東升
國(guó)內(nèi)杰出iOS和Cocos技術(shù)作家、iOS技術(shù)顧問(wèn)、Cocos最有價(jià)值專(zhuān)家(CVP)、智捷課堂首席培訓(xùn)專(zhuān)家、51CTO社區(qū)iOS技術(shù)顧問(wèn)。他精通iOS、Android和Windows及HTML5等移動(dòng)開(kāi)發(fā)技術(shù),擅長(zhǎng)應(yīng)用和游戲類(lèi)項(xiàng)目開(kāi)發(fā),曾先后主持開(kāi)發(fā):大型網(wǎng)絡(luò)游戲《神農(nóng)訣》的iOS和Android客戶端,國(guó)家農(nóng)產(chǎn)品追溯系統(tǒng)的iPad客戶端,酒店預(yù)訂系統(tǒng)的iOS客戶端,金融系統(tǒng)的iOS、Windows及Android客戶端。與此同時(shí),他長(zhǎng)期為中國(guó)移動(dòng)研究院、方正科技、大唐電信、中國(guó)石油、工商銀行、南方航空、惠普、東軟集團(tuán)、NTT等企事業(yè)單位提供技術(shù)咨詢及員工培訓(xùn)。