內容介紹
《Objective-C編程》講述Objective-C程式語言和基本的iOS/Mac開發知識。作者首先從基本的編程概念講起(變數、條件語句、循環結構等),接著用淺顯易懂的語言講解Objective-C和Foundation的知識,包括Objective-C的基本語法、 Foundation常用類 、記憶體管理、常用設計模式等,最後手把手教讀者編寫完整的、基於事件驅動的iOS/Mac套用。作者還穿插介紹了Objetive-C的高級內容,包括屬性、範疇和Block對象等知識。全書篇幅精煉,內容清晰,適合無編程經驗的讀者入門學習。Big Nerd Ranch培訓系列中文圖書網站:http://www.iosprogrammingbook.com/
作者介紹
Aaron Hillegass曾就職於NeXT公司和Apple公司,他有近20年的Objective-C編程、Cocoa編程和iOS編程教學經驗。Aaron是《Cocoa編程》的作者,並與他人合著了《iOS編程》。這兩本暢銷書獲得了來自全球各地讀者的好評。
2001年,Aaron創辦了Big Nerd Ranch公司,提供強化式編程課程,為學員提供集中的、無干擾的學習環境。
作品目錄
第1部分入門 1第1章讀者與本書 3
1.1C與Objective-C 3
1.2主要內容及閱讀方式 4
1.3程式設計師要走的道路 4
第2章第一個程式 7
2.1安裝Apple開發工具軟體 7
2.2Xcode入門 7
2.3從哪裡開始編寫代碼 9
2.4如何運行程式 13
2.5程式是如何產生的 14
2.6不要半途而廢 15
第2部分如何編程 17
第3章變數與類型 19
3.1類型 19
3.2使用變數的程式 20
3.3練習 22
第4章if和else 23
4.1布爾變數 24
4.2else if 25
4.3深入學習:條件運算符(三元運算符) 25
4.4練習 26
第5章函式 27
5.1應該在何時使用函式 27
5.2如何編寫並使用函式 27
5.3函式間是如何協同工作的 30
5.4局部變數、幀和棧 32
5.5遞歸 34
5.6通過調試器查看幀 35
5.7return 37
5.8全局變數與靜態變數 39
5.9練習 40
第6章數字 41
6.1printf() 41
6.2整數 42
6.3浮點數 46
6.4練習 47
第7章循環 49
7.1while循環 49
7.2for循環 50
7.3break 51
7.4continue 52
7.5do-while循環 53
7.6練習 54
第8章地址與指針 55
8.1獲取地址 55
8.2用指針保存地址 56
8.3通過地址訪問數據 57
8.4不同類型的數據所占用的位元組大小 57
8.5NULL 58
8.6指針聲明的代碼規範 59
8.7練習 59
第9章通過引用傳遞 61
9.1編寫通過引用傳遞參數的函式 62
9.2不要對NULL取值 64
第10章結構 65
10.1練習 66
第11章堆 69
第3部分Objective-C與Foundation 73
第12章對象 75
12.1創建並使用對象 75
12.2訊息詳解 77
12.3記憶體中的對象 79
12.4id 79
12.5練習 80
第13章再談訊息 81
13.1訊息的嵌套傳送 81
13.2多個實參 82
13.3向nil傳送訊息 82
13.4練習 83
第14章NSString 85
14.1練習 86
第15章NSArray 87
15.1NSMutableArray 89
15.2練習 90
第16章開發文檔 93
16.1參考頁 94
16.2快速幫助 96
16.3其他文檔功能和開發資源 98
第17章第一個自定義類 101
17.1存取方法 103
17.2用點號調用存取方法 104
17.2屬性 105
17.4self 106
17.5多個實現檔案 106
17.6練習 106
第18章繼承 109
18.1覆蓋方法 112
18.2super 113
18.3練習 113
第19章對象實例變數 115
19.1對象所有權與ARC 117
19.2練習 123
第20章避免記憶體泄露 125
20.1Retain循環 127
20.2弱引用 129
20.3弱引用的自動置零特性 130
20.4深入學習:手動引用計數和ARC歷史 131
第21章Collection類 135
21.1NSArray/NSMutableArray 135
21.2NSSet/NSMutableSet 138
21.3NSDictionary/NSMutableDictionary 140
21.4C語言基本類型 142
21.5Collection對象與nil 142
21.6練習 143
第22章常量 145
22.1預處理指令 145
22.2#include與#import 146
22.3#define 146
22.4全局變數 147
22.5比較#define與全局變數 149
第23章通過NSString和NSData將數據寫入檔案 151
23.1將NSString對象寫入檔案 151
23.2NSError 152
23.3通過NSString讀取檔案 153
23.4將NSData對象所保存的數據寫入檔案 154
23.5從檔案讀取數據並存入NSData對象 155
第24章回調 157
24.1目標-動作對 157
24.2輔助對象 160
24.3通告 163
24.4如何選擇 164
24.5回調與對象所有權 164
第25章協定 167
第26章Property List格式 171
26.1練習 173
第4部分由事件驅動的套用 175
第27章第一個iOS套用 177
27.1創建iTahDoodle 177
27.2BNRAppDelegate 179
27.3添加C語言輔助函式 180
27.4iTahDoodle中的對象 181
27.5Model-View-Controller 182
27.6套用委託對象 183
27.7設定視圖 184
27.8為UITableView對象提供數據 186
27.9添加新任務 189
27.10深入學習:main()的作用 190
第28章第一個Cocoa套用 191
28.1編輯BNRDocument.h 192
28.2Interface Builder初探 193
28.3編輯BNRDocument.xib 194
28.4創建關聯 198
28.5再探MVC 202
28.6編輯BNRDocument.m 202
28.7練習 204
第5部分Objective-C高級主題 205
第29章init 207
29.1編寫init方法 207
29.2實現基本的init方法 208
29.3在init中使用存取方法 209
29.4帶實參的init方法 210
29.5禁用init方法 215
第30章屬性 217
30.1屬性的特性 218
30.2KVC 221
第31章範疇 225
第32章Block對象 227
32.1定義Block對象 227
32.2使用Block對象 228
32.3typedef 233
32.4返回值 233
32.5記憶體管理 234
32.6基於Block的編程是大勢所趨 235
32.7練習 235
第6部分C語言高級主題 237
第33章位運算 239
33.1按位或 240
33.2按位與 241
33.3其他位運算符 242
33.4用enum定義位掩碼 245
33.5占用更多位元組的整數類型 245
33.6練習 245
第34章C字元串 247
34.1char 247
34.2char * 248
34.3string literal 250
34.4C字元串和NSString對象的相互轉換 251
34.5練習 252
第35章C數組 253
第36章命令行參數 257
第37章switch語句 261
結束語 263
索引 265