前 言
第一部分 基礎篇
第1章 開篇綜述
1.1 iOS概述
1.2 開發環境及開發工具
1.3 本書中的約定
第2章 第一個iOS應用程序
2.1 創建HelloWorld工程
2.2 HelloWorld工程中的故事闆文件
2.3 應用生命周期
2.4 視圖生命周期
2.5 設置産品屬性
2.6 iOS API簡介
2.7 小結
第3章 UIView與視圖
3.1 視圖“始祖”——UIView
3.2 標簽與按鈕
3.3 動作與輸齣口
3.4 TextField和TextView
3.5 開關控件、滑塊控件和分段控件
3.6 網頁視圖WebView
3.7 等待相關的控件與進度條
3.8 警告框和操作錶
3.9 工具欄和導航欄
3.10 小結
第4章 iOS 8多分辨率屏幕適配
4.1 iOS 8屏幕的多樣性
4.2 iOS屏幕布局
4.3 Auto Layout布局
4.4 Size Class與iOS 8多屏幕適配
4.5 在屏幕滾動視圖中使用Auto Layout和Size Class
4.6 使用資源目錄(asset catalog)管理圖片
4.7 小結
第5章 委托協議、數據源協議與高級視圖
5.1 視圖中的委托協議和數據源協議
5.2 選擇器
5.3 集閤視圖
5.4 小結
第6章 錶視圖
6.1 概述
6.2 簡單錶視圖
6.3 分節錶視圖
6.4 修改單元格
6.5 錶視圖UI設計模式
6.6 小結
第7章 視圖控製器與導航模式
7.1 概述
7.2 平鋪導航
7.3 標簽導航
7.4 樹形結構導航
7.5 組閤使用導航模式
7.6 小結
第8章 iOS常用設計模式
8.1 單例模式
8.2 委托模式
8.3 觀察者模式
8.4 MVC 模式
8.5 小結
第9章 iPhone與iPad應用開發的差異
9.1 概述
9.2 iPad專用API
9.3 小結
第10章 iOS分層架構設計
10.1 低耦閤企業級係統架構設計
10.2 iOS分層架構設計
10.3 實例:MyNotes應用
10.4 基於同一工程的分層
10.5 基於同一工作空間靜態鏈接庫實現的WLSOO模式
10.6 基於同一工作空間框架實現的WFSSS模式
10.7 基於同一工作空間框架實現的WFOOO模式
10.8 基於同一工作空間框架實現的WFSOO模式
10.9 基於同一工作空間框架實現的WFOSS模式
10.10 小結
第11章 數據持久化
11.1 概述
11.2 屬性列錶
11.3 對象歸檔
11.4 使用SQLite數據庫
11.5 Core Data
11.6 小結
第12章 應用程序設置
12.1 概述
12.2 應用程序設置包
12.3 設置項目種類
12.4 讀取設置
12.5 小結
第13章 國際化
13.1 概述
13.2 文本信息國際化
13.3 xib和故事闆文件國際化
13.4 資源文件國際化
13.5 小結
第14章 訪問聯係人
14.1 概述
14.2 讀取聯係人信息
14.3 寫入聯係人信息
14.4 高級API
14.5 小結
第二部分 網絡篇
第15章 訪問Web Service
15.1 概述
15.2 數據交換格式
15.3 REST Web Service
15.4 使用輕量級網絡請求框架MKNetworkKit
15.5 反饋網絡信息改善用戶體驗
15.6 小結
第16章 定位服務與地圖應用
16.1 定位服務
16.2 使用iOS蘋果地圖
16.3 使用程序外地圖
16.4 小結
第三部分 進階篇
第17章 iOS中的商業模式
17.1 收費策略
17.2 使用蘋果iAd 廣告
17.3 使用榖歌AdMob廣告
17.4 小結
第18章 找齣程序中的bug——調試
18.1 Xcode調試工具
18.2 日誌與斷言輸齣
18.3 異常堆棧報告分析
18.4 在iOS設備上調試
18.5 Xcode設備管理工具
18.6 小結
第19章 測試驅動下的iOS應用開發
19.1 測試驅動的軟件開發概述
19.2 使用XCTest測試框架
19.3 異步單元測試
19.4 性能測試
19.5 iOS單元測試最佳實踐
19.6 小結
第20章 讓你的程序“飛”起來——性能優化
20.1 內存優化
20.2 優化資源文件
20.3 延遲加載
20.4 數據持久化的優化
20.5 可重用對象的使用
20.6 並發處理與多核CPU
20.7 小結
第21章 管理好你的程序代碼——代碼版本控製
21.1 概述
21.2 Git代碼版本控製
21.3 GitHub代碼托管服務
21.4 小結
第22章 把你的應用放到App Store上
22.1 收官
22.2 發布流程
22.3 常見審核不通過的原因
22.4 小結
第四部分 實戰篇
第23章 重構MyNotes應用——iOS網絡通信中的設計模式與架構設計
23.1 移動網絡通信應用的分層架構設計
23.2 Objective-C版本:在工作空間中添加和配置MKNetworkKit
23.3 基於委托模式實現
23.4 基於觀察者模式的通知機製實現
23.5 小結
第24章 iOS敏捷開發項目實戰——2016裏約熱內盧奧運會應用開發及App Store發布
24.1 應用分析與設計
24.2 iOS敏捷開發
24.3 任務1:創建應用工作空間和工程
24.4 任務2:信息係統層與持久層開發
24.5 任務3:業務邏輯層開發
24.6 任務4:錶示層開發
24.7 任務5:收工
24.8 小結
北京時間2014年6月2日淩晨1點,蘋果公司發布瞭最新的iOS 8係統。此次,最令人震撼的消息是蘋果的新語言Swift。而iOS開發者和感興趣者立即開始研究和學習Swift語言,我們智捷課堂團隊在2014年6月9日推齣一套完整的Swift學習視頻,接著又與圖靈教育閤作,推齣國內第一本Swift圖書——《Swift開發指南》,並且在2014年8月1日推齣瞭《Swift開發指南(修訂版)》。在這個大背景下,我們原來編寫的《iOS開發指南:從零基礎到App Store上架》得到瞭廣大讀者的認可,很多讀者希望我們將其升級為iOS 8版本,並且能夠使用Swift和Objective-C兩種語言進行講解,並比較它們的不同之處。幾個月過去瞭,我們終於在2015年元旦之前將書稿提交給齣版社。
內容和組織結構
本書是我們團隊編寫的iOS係列叢書中的一本,目的是使有Swift或Objective-C基礎的程序員通過學習本書,從零基礎學習如何在App Store上發布一款應用。全書共4部分。
第一部分為基礎篇,共14章內容,介紹瞭iOS的一些基礎知識。
第1章介紹瞭iOS的開發背景以及本書約定。
第2章使用故事闆技術創建瞭HelloWorld,同時討論瞭iOS工程模闆、應用的運行機製和生命周期、視圖的生命周期等,最後介紹瞭如何使用API幫助文檔和官方案例。
第3章首先學習瞭視圖和控件之間的關係以及應用界麵的構建層次,然後介紹瞭標簽、按鈕、文本框和導航欄等基本控件。
第4章介紹瞭iOS 8多分辨率屏幕適配方法,其中涉及的技術主要是Auto Layout和Size Class。此外,還介紹瞭iOS屏幕的多樣性、iOS屏幕布局相關的內容。
第5章首先嚮大傢介紹瞭數據源協議和委托協議,然後介紹瞭高級視圖:選擇器和集閤視圖。
第6章探討瞭錶視圖的組成、錶視圖類的構成和錶視圖的分類,使我們對錶視圖有瞭一個整體上的認識。接下來,介紹瞭如何實現簡單錶視圖和分節錶視圖,以及錶視圖中索引、搜索欄和分組的使用,然後學習瞭如何對錶視圖單元格進行刪除、插入、移動等操作,最後介紹瞭錶視圖UI設計模式方麵的內容。
第7章討論瞭如何判斷應用是否需要一個導航功能,並且知道在什麼情況下選擇平鋪導航、標簽導航、樹形結構導航,或者同時綜閤使用這3種導航模式。
第8章討論瞭iOS開發中4種常用的設計模式,分彆為單例模式、委托模式、觀察者模式和MVC模式。在介紹每種設計模式時,我們按照問題提齣、實現原理、應用案例的結構介紹瞭其適用情況、實現原理及其用法。
第9章首先介紹瞭iPhone和iPad設備使用場景上的差異,然後深入介紹瞭iPad專用API,包括UIPopover- Controller控製器和UISplitViewController控製器。
第10章介紹瞭iOS平颱的分層架構設計技術,歸納瞭10種分層模式,並且重點實現瞭8種模式,每一種模式都有其應用場景。
第11章討論瞭iOS本地數據持久化的問題。首先分析瞭數據存取的幾種方式以及每種數據存取方式適閤什麼樣的場景,然後分彆舉例介紹瞭每種存取方式的實現。
第12章介紹瞭設置和配置的概念,然後通過對二者差異的探討,介紹瞭什麼樣的項目適閤放在設置裏,什麼樣的項目適閤放在配置裏。
第13章首先介紹瞭國際化的概念,接下來詳細闡述瞭文本信息、xib及故事闆、資源文件的國際化。
第14章首先介紹瞭訪問通訊錄所需要的框架,然後介紹瞭使用AddressBook框架如何讀取聯係人的信息,具體包括聯係人記錄、單值多值屬性、圖片屬性的讀取;接著介紹瞭如何使用該框架將聯係人信息寫入數據庫,具體包括聯係人的創建、修改和刪除;最後介紹瞭如何使用AddressBook高級API實現選擇聯係人、顯示和修改聯係人以及創建聯係人的操作。
第二部分為網絡篇,共兩章,介紹瞭iOS網絡開發的相關知識。
第15章介紹瞭數據交換格式,其中XML和JSON是主要的方式。這裏重點介紹瞭Web Service的訪問以及MKNetworkKit框架。
第16章討論瞭iOS中的定位服務技術,包括地理信息編碼和反編碼查詢。之後介紹瞭iOS蘋果地圖的使用,包括顯示地圖、在地圖上添加標注以及跟蹤用戶位置的變化等。最後,介紹瞭程序外地圖的使用,如何調用iOS蘋果地圖和榖歌Web地圖。
第三部分為進階篇,共6章,介紹瞭iOS高級內容和商業思考等,相關內容如下所示。
第17章介紹瞭iOS中的商業模式,其中的收費策略值得廣大讀者藉鑒。此外,我們還介紹瞭植入廣告和應用內購買的API,其中植入廣告包括蘋果自己的iAd和榖歌的AdMob廣告。
第18章首先介紹瞭調試工具、異常堆棧報告分析,接下來講解瞭如何在真機上調試應用,最後分析瞭Xcode設備管理工具的用法。
第19章首先介紹瞭測試驅動的iOS開發,接著介紹瞭單元測試框架XCTest、異步單元測試和性能測試,最後討論瞭iOS單元測試最佳實踐。
第20章介紹瞭iOS中的性能優化方法,其中包括內存優化、資源文件優化、延遲加載、持久化優化、使用可重用對象、並發處理與多核CPU等。
第21章介紹瞭如何使用Git進行代碼版本控製,其中包括Git服務器的搭建、Git常用命令和協同開發。此外,還介紹瞭在Xcode中如何配置和使用Git工具。
第22章探討瞭如何在App Store上發布應用,介紹瞭應用的發布流程以及應用審核不通過的一些常見原因。
第四部分為實戰篇,共兩章,從無到有地介紹瞭兩個真實的iOS應用:MyNotes應用和2016裏約熱內盧奧運會應用。
第23章通過重構MyNotes應用,把MyNotes應用的數據由原來的本地存儲變成雲存儲。在這個過程中,我們介紹瞭移動網絡通信應用中分層架構設計的必要性和重要性。我們重點介紹瞭基於委托模式和觀察者模式通知機製實現的分層架構設計。
第24章介紹瞭完整的iOS應用分析設計、編程、測試和發布過程,其中采用瞭敏捷開發方法。此外,該項目采用分層架構設計,這對於學習iOS架構是非常重要的。
緻謝
在此感謝圖靈的王軍花責編給我們提供的寶貴意見,感謝智捷iOS課堂團隊的李玉超和賈雲龍參與內容討論和審核,感謝趙大羽老師手繪瞭書中全部草圖,並從專業的角度修改書中圖片,力求更加真實完美地奉獻給廣大讀者。此外,還要感謝我的傢人容忍我的忙碌,以及對我的關心和照顧,使我能抽齣這麼多時間,投入全部精力專心編寫此書。
由於時間倉促,書中難免存在不妥之處,請讀者原諒。
關東升
2014年12月於北京
我在閱讀之前,對這本書的“第3版”這個信息有著特彆的期待。眾所周知,科技行業的發展日新月異,尤其是移動開發領域,Apple 的係統和技術更新迭代非常快。如果一本教程的內容停留在幾年前,那麼它所介紹的很多技術可能已經過時,甚至不再適用。因此,“第3版”意味著這本書一定包含瞭最新的 iOS SDK、Swift 語言特性,以及 Apple 的最新開發規範。我希望書中能夠重點介紹 SwiftUI 這個相對較新的 UI 框架,因為我聽說它在未來的 iOS 開發中會扮演越來越重要的角色。同時,我也希望書中能夠涵蓋一些關於性能優化、安全編碼以及用戶隱私保護方麵的最佳實踐。這些都是現代 App 開發中不可或缺的重要組成部分。如果這本書能夠幫助我建立起一套符閤行業最新標準的開發思路,那麼它對我來說將是無價的。我期待這本書能成為我 iOS 開發之路上的可靠基石,讓我能夠構建齣既有創意又符閤時代潮流的 App。
評分這本書的封麵設計我第一眼就愛上瞭,簡約而不失專業感,封麵上的iOS圖標和 Xcode 的標誌都暗示著這本書是關於 iOS 開發的,而且“從零基礎到App Store上架”這樣的副標題更是讓我這個完全沒有編程基礎的人心動不已。我一直以來都對製作屬於自己的 App 充滿好奇,但又不知道從何下手,網上的教程碎片化又參差不齊,常常學著學著就迷失瞭方嚮。看到這本書,我感覺終於找到瞭一個可以讓我係統學習的入口。特彆是“第3版”這個字樣,讓我覺得這本書的內容一定是經過不斷更新迭代的,能夠跟上 iOS 開發最新的技術和 Apple 的審核要求,這對於想要將 App 發布到 App Store 的我來說至關重要。我希望這本書能夠像一個循序漸進的嚮導,帶領我一步步瞭解 Swift 語言,掌握 UIKit 或 SwiftUI 等核心框架,學會如何設計 UI 界麵,如何處理數據,如何與服務器通信,最終能夠成功地將我的第一個 App 提交到 App Store 進行審核和發布。讀到它,我仿佛已經看到瞭自己拿著手機,裏麵運行著我親手開發的應用,那種成就感,我簡直迫不及待地想體驗!
評分我拿到這本書之後,迫不及待地翻閱瞭目錄,發現它涵蓋瞭 iOS 開發的各個重要方麵,從基礎的 Swift 語言,到 UI 布局,再到網絡請求和數據存儲,最後落腳到 App Store 的發布。這種由淺入深、循序漸進的編排方式,非常符閤我的學習習慣。我一直在思考,學習一門新的技術,最怕的就是知識點跳躍或者講解不清。這本書的目錄結構讓我看到瞭作者在內容組織上的用心,它似乎能夠將一個龐大復雜的 iOS 開發體係,分解成一個個易於理解和掌握的模塊。我非常期待書中對 Swift 語言的講解能夠通俗易懂,並且包含一些實際的應用場景,讓我明白這些語法規則的意義。同時,對於 UI 方麵的知識,我希望書中能夠詳細講解如何使用 Storyboard 或 SwiftUI 來構建美觀且響應式的界麵,這對於我來說至關重要,因為我希望我的 App 能夠有良好的用戶體驗。這本書就像一個完整的學習地圖,為我指明瞭探索 iOS 開發世界的每一步。
評分對於這本書的“App Store上架”這個環節,我給予瞭極大的關注。畢竟,開發齣 App 隻是第一步,如何讓它被更多人看到,並且成功地發布到 App Store,這纔是最終的目標。我一直聽說 App Store 的審核非常嚴格,從應用的名稱、圖標、描述,到功能的閤規性、隱私政策,再到用戶體驗,每一個環節都可能影響到上架的成功率。這本書承諾包含這方麵的內容,讓我感到非常安心。我希望書中能夠詳細地介紹 App Store 的上架流程,包括如何創建開發者賬號、如何打包和提交 App、如何填寫 App 的元數據(例如關鍵詞、截圖、預覽視頻),以及如何應對審核被拒的情況。如果書中還能提供一些關於 App Store 優化(ASO)的建議,那就更完美瞭。畢竟,即使 App 功能再好,如果不能被用戶發現,也難以獲得成功。我相信,這本書提供的不僅僅是技術指導,更是一整套完整的上架解決方案,能夠幫助我少走彎路,順利將自己的作品呈現在全球用戶麵前。
評分當我翻開這本書的時候,首先映入眼簾的是作者用非常親切的語言寫下的前言,他分享瞭自己學習 iOS 開發的經曆,也錶達瞭對讀者學習的鼓勵和期望。這種真誠的溝通方式讓我覺得作者就像一個經驗豐富的導師,而不是一個高高在上的專傢。我尤其喜歡他提到“零基礎”的讀者不必過於擔心,書中會從最基礎的 Swift 語言語法講起,逐步深入到更復雜的概念。這大大緩解瞭我對編程學習的恐懼感。我一直在想,學習編程最難的往往是入門,一旦跨過瞭這道坎,後麵的學習就會順暢很多。這本書的開篇似乎就為我鋪設瞭一條平坦的學習之路。我期待書中能夠有大量的代碼示例,並且這些示例是可運行的,能夠讓我邊學邊練。同時,我也希望書中能夠講解一些開發過程中常見的錯誤和調試技巧,因為我知道編程齣錯是常態,學會如何高效地解決問題是提高開發效率的關鍵。這本書的齣現,就像在茫茫的編程海洋中,給我指明瞭一個清晰的方嚮,讓我不再感到孤單和無助。
評分很不錯 超級推薦 還有社區裏的一起交流
評分書籍用來入門不錯,就是內容不是最新的
評分買來學習的工具書,還不錯
評分在京東買的,送貨很方便,要是多有活動就好瞭,~~
評分書的內容很不錯,希望盡快能發布自己的app
評分不錯的書 由淺入深 說的很詳細 和適閤我
評分2018!在一起,努力學習,永攀高峰!
評分很不錯 超級推薦 還有社區裏的一起交流
評分喜歡在京東上購物。送貨快東西有質量保證。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有