Objective-C編程(第2版)

《Objective-C編程(第2版)》,本書作者Aaron Hillegass / Mikey Ward,譯者王蕾 / 吳承耀,由華中科技大學出版社於2015年10月出版。

內容簡介

本書講述Objective-C程式語言和基本的iOS/Mac開發知識。作者首先從基本的編程概念講起(變數、條件語句、循環結構等),接著用淺顯易懂的語言講解Objective-C和Foundation的知識,包括Objective-C的基本語法、Foundation常用類、記憶體管理、常用設計模式等,最後手把手教讀者編寫完整的、基於事件驅動的iOS/Mac套用。書中還介紹了Objetive-C的高級內容,包括屬性、範疇和Block對象等知識。全書篇幅精練,內容清晰,適合無編程經驗的讀者入門學習。

作者簡介

Aaron Hillegass曾就職於NeXT公司和Apple公司,他有近20年的Objective-C編程、Cocoa編程和iOS編程教學經驗。Aaron與他人合著了《iOS編程》。

2001年,Aaron創辦了Big Nerd Ranch公司,開始提供強化式編程課程,為學員提供集中的、沒有干擾的學習環境。

Mikey Ward是Big Nerd Ranch的資深培訓師,他有著30多年的編程經驗。他是CocoaHeads Atlanta的發起人,該團隊致力於組織各種會議,幫助程式設計師運用Apple框架開發實用的MAC和iOS應用程式。

書籍目錄

第1部分 入 門
第1章 讀者與本書 3
1.1C語言和Objective-C語言 3
1.2 如何閱讀本書 4
1.3 程式設計師要走的道路 5
第2章 第一個程式 7
2.1 安裝蘋果開發者工具 7
2.2Xcode入門 7
2.3 從哪裡開始編寫代碼 10
2.4 如何運行程式 13
2.5 程式是如何產生的 15
2.6 不要半途而廢 16
第2部分 如 何 編 程
第3章 變數與類型 21
3.1 類型 21
3.2 使用變數的程式 22
第4章 if和else 25
4.1 布爾變數 27
4.2 花括弧的使用規則 27
4.3 else if 28
4.4 深入學習:條件運算符(三元運算符) 28
第5章 函式 31
5.1 應該在何時使用函式 31
5.2 如何編寫並使用函式 31
5.3 函式間是如何協同工作的 33
5.4 標準庫 34
5.5 局部變數、幀和棧 35
5.6 作用域 37
5.7 遞歸 38
5.8 通過調試器查看幀 40
5.9 返回 42
5.10 全局變數與靜態變數 43
第6章 格式化字元串 45
6.1 使用格式說明符 46
6.2 轉義字元 46
第7章 數字 49
7.1 整數 49
7.2 浮點數 54
7.3 練習 55
第8章 循環 57
8.1 while循環 58
8.2 for循環 59
8.3 break 60
8.4 continue 61
8.5 do-while循環 62
第9章 地址與指針 67
9.1 獲取地址 67
9.2 用指針保存地址 68
9.3 通過地址訪問數據 69
9.4 不同類型的數據所占用的位元組大小 70
9.5 NULL 71
9.6 指針聲明的代碼規範 72
第10章 通過引用傳遞 73
10.1 編寫通過引用傳遞參數的函式 74
10.2 不要對NULL取值 75
第11章 結構 77
第12章 堆 81
第3部分 Objective-C與Foundation
第13章 對象 87
13.1 對象 87
13.2 類 87
13.3 創建並使用對象 88
13.4 方法和訊息 90
13.5 訊息傳送 90
13.6 詳解訊息 91
13.7 類方法與實例方法 92
13.8 傳送錯誤訊息 93
13.9 大小寫很重要! 94
13.10 Objective-C語言命名習慣 95
13.11 術語小簡介 96
第14章 再談訊息 97
14.1 傳遞實參的訊息 97
14.2 多個實參 98
14.3 訊息的嵌套傳送 100
14.4 alloc和init 100
14.5 向nil傳送訊息 101
14.6 id 102
第15章 對象與記憶體 105
15.1 指針和指針的值 105
15.2 記憶體管理 107
15.3 ARC 108
第16章 NSString 111
16.1 創建NSString實例 111
16.2 NSString方法 112
16.3 類參考 113
16.4 文檔的其他部分 117
16.5 練習:尋找更多的NSString方法 118
第17章 NSArray 119
17.1 創建數組 119
17.2 存取數組 120
17.3 遍歷數組 123
17.4 NSMutableArray 124
17.5 舊式數組方法 125
第18章 第一個自定義類 129
18.1 存取方法 132
18.2 存取方法的命名規範 133
18.3 self 134
18.4 多個實現檔案 134
18.5 類前綴 135
第19章 屬性 137
19.1 聲明屬性 137
19.2 屬性的特性 139
19.3 用點號調用存取方法 140
第20章 繼承 141
20.1 覆蓋方法 144
20.2 Super 145
20.3 繼承層次 145
20.4 description方法和%@轉換說明 148
第21章 對象實例變數及屬性 151
21.1 對象所有權與ARC 153
21.2 創建BNRAsset類 154
21.3 為BNREmployee創建一對多關係 155
第22章 類擴展 161
22.1 隱藏可變屬性 162
22.2 頭檔案與繼承 163
22.3 頭檔案與生成的實例變數 164
第23章 避免記憶體泄露 165
23.1 強引用循環 167
23.2 弱引用 170
23.3 弱引用的自動置零特性 171
23.4 深入學習:手動引用計數和ARC歷史 173
第24章 Collection類 177
24.1 NSSet/NSMutableSet 177
24.2 NSDictionary/NSMutableDictionary 180
24.3 不可修改對象 183
24.4 數組排序 184
24.5 過濾 185
24.6 Collection對象與所有權 186
24.7 C語言基本類型 187
24.8 Collection對象與nil 187
第25章 常量 189
25.1 預處理指令 190
25.2 #include與#import 191
25.3 #define 192
25.4 全局變數 192
25.5 enum 194
25.6 比較#define與全局變數 195
第26章 通過NSString和NSData將數據寫入檔案 197
26.1 將NSString對象寫入檔案 197
26.2 NSError 198
26.3 通過NSString讀取檔案 200
26.4 將NSData對象所保存的數據寫入檔案 201
26.5 從檔案讀取數據並存入NSData對象 202
26.6 尋找特別目錄 203
第27章 回調 205
27.1 運行循環 206
27.2 目標-動作對 206
27.3 輔助對象 208
27.4 通知 212
27.5 如何選擇 213
27.6 回調與對象所有權 214
27.7 深入學習:選擇器的工作機制 215
第28章 Block對象 217
28.1 使用Block對象 218
28.2 Block對象 vs. 其他回調 223
28.3 深入學習Block對象 223
第29章 協定 229
調用可選方法 231
第30章 Property List格式 233
第4部分 由事件驅動的套用
第31章 第一個iOS套用 239
31.1 基於圖形用戶界面的套用 240
31.2 創建iTahDoodle 240
31.3 BNRAppDelegate 242
31.4 Model-View-Controller 243
31.5 套用委託對象 245
31.6 設定視圖 246
31.7 在模擬器中運行程式 248
31.8 為按鈕關聯動作方法 249
31.9 為UITableView對象提供數據 252
31.10 保存並載入數組 255
31.11 深入學習:main()的作用 258
31.12 深入學習:在真機上運行iTahDoole 258
第32章 第一個Cocoa套用 259
32.1 開始開發TahDoodle 260
32.2 在Interface Builder中設定視圖 262
32.3 創建關聯 270
32.4 實現NSTableViewDataSource 275
32.5 保存並載入數據 276
第5部分 Objective-C高級主題
第33章 init 281
33.1 編寫init方法 281
33.2 實現基本的init方法 282
33.3 instancetype類型 283
33.4 使用並檢查父類的初始化方法 283
33.5 帶實參的init方法 284
33.6 在init中使用存取方法 286
33.7 多個初始化方法 287
33.8 禁用init方法 290
第34章 再談屬性 291
34.1 再談屬性的特性 291
34.2 實現存取方法 294
第35章 KVC 297
第36章 KVO 301
36.1 在KVO中使用context 302
36.2 顯式觸發通知 303
36.3 獨立的屬性 303
第37章 範疇 305
第6部分 C語言高級主題
第38章 位運算 309
38.1 按位或 310
38.2 按位與 311
38.3 其他位運算符 313
38.4 用enum定義位掩碼 315
38.5 占用更多位元組的整數類型 316
第39章 C字元串 317
39.1 char 317
39.2 char * 318
39.3 string literal 321
39.4 C字元串和NSString對象的相互轉換 322
39.5 練習 322
第40章 C數組 323
第41章 從命令行運行 329
41.1 命令行參數 330
41.2 命令行的簡便方式 333
第42章 Switch語句 335
附錄 Objective-C運行時 337
結束語 345
索引 347

相關詞條

熱門詞條

聯絡我們