內容介紹
Objecitve-C語言成為了 TIOBE 2011 年度程式語言。而本書圍繞著蘋果平台的軟體開發語言Objective-C為主題,由入門到展開,由基礎到原理,由領會到技巧,由新手到大師,由淺入深地層層講解。作為國內罕見的原創Objecitve-C教程,本書披露了為數眾多的技術要點和內幕,甚至還包括至完稿時最新的iOS6.0新技術細節。
作者以一個中國蘋果開發者的角度,為有經驗的同行能夠再次提高提供參考,為懵懂的新手開闢一條康莊大道,甚至為想學Objective-C卻無從下手的朋友揭秘了開發捷徑。
作者簡介
錢成,超級蘋果通,資深MacOS和iOS開發者,從2007年至今一直專注於Apple技術平台的軟體開發工作,算是國內最早一批接觸這些技術新玩意兒,以及有幸目睹整個Apple公司崛起歷程的人之一。如今就職於著名跨國計算機軟體公司,致力於Apple平台的布道、架構和集成,以及跨平台解決方案的實施。
出版信息
- 作 者:錢成 著
- 出 版 社:中國鐵道出版社
- 出版時間:2013-8-1
- 頁 數:620
- 字 數:973000
- 印刷時間:2013-8-1
- 開 本:16開
- 紙 張:膠版紙
- I S B N:9787113166694
- 包 裝:平裝
圖書目錄
第一篇蘋果開發初窺門徑 |
第二篇紮實功底略有所成 |
第三篇拓展能力融會貫通 |
第四篇修得絕技爐火純青 |
第五篇內外兼修大師風範 |
第六篇獨步天下不可不知 |
第1章邀請函——來自Objective-C |
第2章搭建開發環境——讓我們穿戴整齊去參加熱鬧的派對吧 |
第3章創建應用程式——自家的孩子自家疼 |
第4章開始開發——和Objective-C交個朋友 |
第5章列印日誌——維持秩序的攝像頭 |
第6章基本數據類型,表達式和語句——鍋碗瓢盆一個都不少 |
第7章記憶體管理——打理矯情程式的超級拖把 |
第8章Foundation Kit——巧婦可為有米之炊 |
第9章KVC機制——讓生活過得更好 |
第10章錯誤處理——知錯能改善莫大焉 |
第11章block——大塊頭有大智慧 |
第12章視圖——展現外形美的視窗 |
第13章控制項——溝通心靈美的橋樑 |
第14章滾動視圖——表達內涵美的手段 |
第15章警告框——強勢地鬧彆扭 |
第16章視圖展示——畫上美麗妝容盡情舞動吧 |
第17章網路請求——網際網路客戶端的武功寶典 |
第18章資料庫——化繁為簡,唯快不破 |
第19章多執行緒編程——凌波微步,可戰可退 |
第20章鑰匙串——防火、防盜、防黑客 |
第21章通知——彈指神通,指哪動哪 |
第22章手勢——觸摸改變了世界 |
第23章推送——套用也有生命 |
第24章程式間通信——套用組實現的最佳方案 |
第25章iOS 5和iOS 6開發相關的新特性——最先進的用戶體驗 |
第26章開發調試技巧——最強力的集成環境 |
第27章視網膜屏——最爽快的視覺享受 |
第28章本地化——最貼心的國際化 |
第29章程式通用設定——最適合的功能劃分 |
第30章輔助功能——最周全的系統構想 |
第31章蘋果終極開發技巧——不傳秘籍重現天日 |
詳細目錄
第一篇蘋果開發初窺門徑第1章邀請函——來自Objective-C
1.1概述
1.2蘋果開發簡介
1.3Objective-C的個人簡歷
1.4本書的扼要提綱
1.5成為偉大的蘋果開發者
第2章搭建開發環境——讓我們穿戴整齊去參加熱鬧的派對吧
2.1IDE的準備
2.1.1Xcode不同版本的下載
2.1.2Xcode不同版本的共存
2.2IDE的熟悉
2.2.1Xcode的代碼撰寫界面
2.2.2Xcode的界面檔案
2.2.3工程管理的注意事項
2.2.4Xcode的使用注意事項
2.3本章小結
第二篇紮實功底略有所成
第3章創建應用程式——自家的孩子自家疼
3.1iOS應用程式的創建
3.2iOS工程結構分析
3.3MacOSX應用程式的創建和程式啟動
3.4本章小結
第4章開始開發——和Objective-C交個朋友
4.1語法——打鐵勢必從姿勢學起
4.2訊息
4.3類的創建
4.4繼承和重寫(override)
4.5分類(Category)
4.6協定(Protocols)和代理(Delegation)
4.7本章小結
第5章列印日誌——維持秩序的攝像頭
5.1簡單使用示例
5.2進階使用示例
5.2.1使NSLog的列印結果更詳細
5.2.2NSLog原理詳解
5.3日誌描述
5.4本章小結
第6章基本數據類型,表達式和語句——鍋碗瓢盆一個都不少
6.1概述
6.2基本數據類型
6.3命名規則
6.3.1命名錯誤
6.3.2命名規範
6.3.3命名空間
6.4表達式
6.5語句
6.5.1if/else
6.5.2switch
6.5.3for循環
6.5.4for循環的in語法
6.5.5while循環
6.5.6跳出當前回合循環
6.6本章小結
第7章記憶體管理——打理矯情程式的超級拖把
7.1記憶體管理機制——出色程式的重要資本
7.1.1記憶體的創建和釋放
7.1.2自動釋放池和使用
7.1.3實例方法和類方法
7.1.4保留(retain)對象
7.1.5複製(copy)對象
7.1.6淺拷貝和深拷貝
7.1.7自動保留(retain)
7.1.8其他創建和釋放對象的方式
7.2單例模式
7.3取值方法(getter)和賦值方法(setter)
7.3.1取值方法和賦值方法
7.3.2屬性關鍵字
7.3.3synthesize和dynamic的區別
7.4自動拖把ARC
7.4.1ARC的使用方法
7.4.2ARC新增關鍵字
7.4.3ARC機制的使用規則
7.4.4ARC機制的注意事項
7.4.5遷移程式到ARC的做法
7.5本章小結
第8章Foundation Kit——巧婦可為有米之炊
8.1字元串(NSString)
8.1.1簡單的字元串使用
8.1.2可變字元串使用
8.1.3字元串的路徑相關使用
8.2數組(NSArray)和集合(NSSet)
8.2.1數組和集合的簡單使用
8.2.2可變數組和可變集合的使用
8.3字典(NSDictionary)
8.3.1簡單的字典使用方法
8.3.2可變字典 107
8.4數據(NSData)
8.5數字(NSNumber)
8.5.1NSNumber的使用
8.5.2簡單的數學計算
8.5.3數字格式
8.6配置檔案
8.7本章小結
第9章KVC機制——讓生活過得更好
9.1KVC的使用和舉例
9.1.1KVC機制
9.1.2KVC的取值
9.1.3KVC的存值
9.1.4KVC協定的實現
9.1.5一對多關係適用的運算符
9.2KVO的使用和舉例
9.3綁定的使用和示例
9.3.1綁定的簡單使用
9.3.2綁定的高級使用
9.4本章小結
第10章錯誤處理——知錯能改善莫大焉
10.1概述
10.2Objective-C的錯誤處理機制
10.3友善的抓蟲好友——NSError
10.4鐵血無情的判官——NSException
10.5黑白兩道通吃——Signal
10.6本章小節
第11章block——大塊頭有大智慧
11.1概述
11.2block的基本使用示例
11.2.1簡單的block
11.2.2將block作為參數的API
11.2.3block的聲明
11.2.4block的typedef
11.2.5block的值返回
11.3block的外部變數使用
11.3.1block體的外部變數使用的奇怪之處
11.3.2克服外部變數的魔咒
11.4block的記憶體管理
11.5本章小結
第三篇拓展能力融會貫通
第12章視圖——展現外形美的視窗
12.1MVC模式及示例
12.2UIViewController(視圖控制器)
12.2.1UIViewController和它的主視圖
12.2.2主視圖的管理函式
12.2.3UIViewController對於旋轉的支持
12.2.4多層UIViewController
12.3導航視圖控制器(UINavigationController)
12.3.1棧
12.3.2自身的層次
12.3.3導航控制器的使用示例:導航精通大師(一)
12.3.4導航控制器的使用示例——導航欄左中右位置的配置
12.3.5導航控制器的使用示例——導航欄右位置的多按鈕
12.3.6導航控制器的使用示例——工具列內容修改和全螢幕顯示
12.3.7導航控制器的使用示例——動畫過渡和超大視圖
12.4標籤頁視圖控制器
12.4.1標籤頁控制器的創建
12.4.2標籤頁控制器的More標籤項目
12.4.3標籤頁上的標記
12.4.4標籤頁欄上的警告框
12.4.5隱藏標籤欄
12.5彈出視圖控制器(PopoverViewController)
12.5.1使用示例
12.5.2自定義式樣
12.6分隔視圖控制器(UISplitViewController)
12.7本章小結
第13章控制項——溝通心靈美的橋樑
13.1控制項使用的注意事項
13.2標籤(UILabel)
13.3文本視圖(UITextView)
13.3.1不可編輯的文本視圖控制項
13.3.2自定義選中文本後的彈出選項
13.3.3可編輯的文本視圖控制項
13.3.4收起鍵盤
13.4文本域(UITextField)
13.4.1特有的特性
13.4.2可拉伸圖片
13.4.3避免被鍵盤擋住
13.5進度視圖(UIProgressView)
13.6滑動條(UISlider)
13.7分隔欄控制項(UISegmentControl)
13.8按鈕(UIButton)
13.8.1按鈕的基本使用
13.8.2應對怪咔需求
13.9本章小結
第14章滾動視圖——表達內涵美的手段
14.1滾動視圖(UIScrollView)
14.2表視圖(UITableView)
14.2.1表視圖的工作流程
14.2.2表視圖的示例(1):皇家馬德里隊球員名單
14.2.3表視圖的示例(2):名單的分段顯示
14.2.4表視圖的示例(3):名單的索引顯示
14.2.5表視圖的示例(4):系統樣式的表視圖單元
14.2.6表視圖的示例(5):自定義表視圖的單元
14.2.7表視圖的示例(6):組式樣的表視圖
14.2.8表視圖的示例(7):表視圖的編輯功能(刪除)
14.2.9表視圖的示例(8):表視圖的編輯功能(新增)
14.2.10表視圖的示例(9):表視圖的編輯功能(排序)
14.2.11表視圖的示例(10):表視圖的編輯功能(多選)
14.3取值控制項(UIPicker)
14.3.1取值控制項示例(1):球員角色選單
14.3.2取值控制項示例(2):自定義UIPicker的選項外觀
14.4本章小結
第15章警告框——強勢地鬧彆扭
15.1概述
15.2iOS警告框的示例和使用
15.2.1普通的警告框使用
15.2.2無按鈕警告框
15.2.3當場取得返回值的警告框
15.2.4顯示文本輸入框的警告框
15.2.5顯示加密文本輸入框的警告框
15.2.6顯示登錄框的警告框
15.2.7多參數格式的警告框
15.2.8客官請點菜,Sheet是您的選單
15.3MacOSX警告框的示例和使用
15.3.1警告框的快捷實現
15.3.2警告框的創建
15.3.3警告框的sheet方式顯示
15.3.4警告框的擴展信息
15.3.5警告框的可選欄控制項
15.3.6Carbon下的警告框顯示
15.3.7溫文爾雅地提醒
15.4本章小結
第16章視圖展示——畫上美麗妝容盡情舞動吧
16.1橫豎屏和自動布局機制
16.1.1簡單的硬代碼橫豎屏示例
16.1.2autoresize橫豎屏示例
16.1.3autolayout橫豎屏示例(1)—何謂自動布局
16.1.4autolayout橫豎屏示例(2)—自動布局機制的實現
16.1.5autolayout橫豎屏示例(3)—衝突處理和設備適配
16.1.6autolayout的代碼使用
16.2Quartz——我們手上的神筆
16.2.1繪畫示例:隨意畫
16.2.2圖形示例:各種圖形畫法
16.2.3漸變示例
16.3用動畫來提升用戶體驗
16.3.1UIView的基本動畫效果
16.3.2UIView的轉場動畫效果
16.3.3CAAnimation的轉場動畫效果
16.3.4CAAnimation的私有動畫效果
16.3.5CAAnimation的視圖自身2D動畫——彈簧跳
16.3.6CAAnimation的視圖自身2D動畫——撒腿就跑
16.3.7CAAnimation的視圖自身2D動畫——閃爍
16.3.8CAAnimation的視圖自身3D動畫——翻開書籍封面
16.4本章小結
第四篇修得絕技爐火純青
第17章網路請求——網際網路客戶端的武功寶典
17.1概述
17.2NSURL網路編程
17.2.1同步下載
17.2.2異步下載
17.2.3堵塞下載
17.3HTTP請求
17.3.1PUT網路請求
17.3.2POST簡單網路請求
17.3.3POST進階網路請求
17.3.4SOAP網路請求
17.4XML解析
17.5JSON解析
17.6CFNetwork網路編程
17.6.1和純C的socket網路開發區別
17.6.2簡單的HTTP請求
17.6.3異步HTTP請求
17.6.4驗證HTTP請求
17.7本章小結
第18章資料庫——化繁為簡,唯快不破
18.1概述
18.2CoreData的模型建立
18.3CoreData的鋼鐵三兄弟
18.4CoreData數據模型的屬性類型支持
18.5CoreData的數據導入
18.6CoreData持久性資料庫的內容分析
18.7CoreData的數據讀取
18.8CoreData和表視圖的完美配合
18.9表視圖集成CoreData的新增和刪除功能
18.10表視圖集成CoreData的更新功能
18.11本章小結
第19章多執行緒編程——凌波微步,可戰可退
19.1性能為王——執行緒概述
19.2基本執行緒使用——NSThread
19.3基本執行緒使用——pthread
19.4 基本執行緒使用——GCD
19.4.1默認佇列的使用
19.4.2組佇列的使用
19.4.3GCD和函式指針配合使用
19.5執行緒安全
19.5.1NSLock的使用
19.5.2synchronized的使用
19.5.3condition的使用
19.6進階並行開發——NSOperation
19.6.1蘋果提供給開發者執行並發任務方法
19.6.2NSOperation的並行開發的兩種做法
19.6.3NSOperation的練手之作(一):RSS的讀取
19.6.4NSOperation的練手之作(二):RSS數據解析
19.6.5NSOperation的練手之作(三):和界面的協調
19.6.6NSOperation的練手之作(四):批量小圖的下載
19.6.7NSOperation的練手之作(五):預覽圖的並行下載
19.7訊息循環(NSRunLoop)
19.8本章小結
第20章鑰匙串——防火、防盜、防黑客
20.1概述
20.2何時使用鑰匙串
20.3iOS中的鑰匙串使用
20.3.1新增和刪除鑰匙串項目
20.3.2查找和更新鑰匙串項目
20.3.3鑰匙串的Group概念
20.4MacOSX中的鑰匙串使用
20.4.1新增和刪除鑰匙串項目
20.4.2查找和更新鑰匙串項目
20.5加密的簡單示例
20.6本章小結
第21章通知——彈指神通,指哪動哪
21.1通知和代理的區別
21.2本地通知的使用
21.2.1通知接收環境的建立
21.2.2通知的簡單傳送
21.2.3通知的異步傳送
21.3跨進程通知傳送
21.4本章小結
第22章手勢——觸摸改變了世界
22.1事件回響鏈
22.1.1事件的生命周期
22.1.2事件回響鏈
22.2觸摸事件的接收示例
22.3手勢回響示例——多種手勢識別器
22.3.1程式框架的搭建
22.3.2Tap點擊手勢的識別
22.3.3依樣畫葫蘆地完成多種手勢識別器
22.4手勢之間的優先權
22.5本章小結
第23章推送——套用也有生命
23.1推送簡介
23.2推送證書的準備步驟
23.3推送的內容
23.4遠程推送的使用方法
23.5本地推送的使用方法
23.6推送的注意事項和常見錯誤解決方案
23.7本章小結
第24章程式間通信——套用組實現的最佳方案
24.1打破沙盒的限制
24.2自定義URL Scheme
24.2.1調用系統應用程式
24.2.2自定義URL Scheme
24.2.3OpenIn:讓其他應用程式打開檔案
24.2.4自定義程式候選面板的按鈕
24.3本章小結
第五篇內外兼修大師風範
第25章iOS 5和iOS 6開發相關的新特性——最先進的用戶體驗
25.1概述
25.2iOS 5新特性
25.2.1書報亭(Newsstand)
25.2.2iCloud
25.2.3訊息中心
25.2.4輸入法
25.3iOS 6新特性
25.3.1Passbook的概念
25.3.2Passbook的開發思路
25.4本章小結
第26章開發調試技巧——最強力的集成環境
26.1自定義代碼段
26.2靜態分析
26.3記憶體泄漏檢測
26.4單元測試:提交測試前,把關質量的最後一道鎖
26.4.1邏輯代碼的單元測試示例
26.4.2UI上的單元測試示例
26.5本章小結
第27章視網膜屏——最爽快的視覺享受
27.1概述
27.2視網膜屏的兼容解決方案
27.2.1程式中的資源
27.2.2啟動圖片
27.2.3圖示
27.3本章小結
第28章本地化——最貼心的國際化
28.1本地化的解決方案
28.1.1使用Xcode的本地化功能的開發舉例
28.1.2資源檔案本地化的開發舉例
28.1.3本地化映射表的開發舉例
28.1.4本地化的原理和相關知識
28.1.5本地化格式的開發舉例
28.1.6本地化應用程式名字
28.2本章小結
第29章程式通用設定——最適合的功能劃分
29.1通用設定的使用範圍
29.1.1兩種解決方案的使用場景各有特點
29.1.2評價者的意圖
29.2通用設定的示例
29.2.1系統設定的本地化開發舉例
29.2.2系統設定的配置舉例:文本輸入框
29.2.3系統設定的配置舉例:滑塊
29.2.4系統設定的配置舉例:左標題右內容
29.2.5系統設定的配置舉例:多選項
29.2.6系統設定的配置舉例:子設定視圖
29.3通用設定的同步
29.4本章小結
第30章輔助功能——最周全的系統構想
30.1輔助功能簡介
30.2輔助功能示例——Interface Builder中的VoiceOver
30.3輔助功能示例——代碼中的VoiceOver
30.3.1使用xib設定輔助功能示例
30.3.2重寫輔助功能的示例
30.4本章小結
第六篇獨步天下不可不知
第31章蘋果終極開發技巧——不傳秘籍重現天日
31.1創建iPhone和iPad的通用應用程式
31.2真機調試
31.3DMG製作
31.3.1簡單DMG檔案製作
31.3.2高級DMG檔案製作
31.4區分作業系統版本環境
31.5本章小結