1 引言 1
1.1 本書內容 2
1.2 本書組織方式 3
1.3 支持 5
1.4 緻謝 6
1.5 第4版前言 7
2 Objective-C編程 9
2.1 編譯並運行程序 9
2.1.1 使用Xcode 10
2.1.2 使用Terminal 16
2.2 解釋第一個程序 19
2.3 顯示變量的值 23
2.4 小結 25
2.5 練習 26
3 類、對象和方法 29
3.1 到底什麼是對象 29
3.2 實例和方法 30
3.3 用於處理分數的Objective-C類 32
3.4 @interface部分 35
3.4.1 選擇名稱 35
3.4.3 類方法和實例方法 37
3.5 @implementation部分 39
3.6 program部分 41
3.7 實例變量的訪問及數據封裝 47
3.8 小結 51
3.9 練習 51
4 數據類型和錶達式 53
4.1 數據類型和常量 53
4.1.1 int類型 53
4.1.2 float類型 54
4.1.3 char類型 54
4.1.4 限定詞:long、long long、short、unsigned及signed 56
4.1.5 id類型 56
4.2 算術錶達式 57
4.2.1 運算符的優先級 58
4.2.2 整數運算和一元負號運算符 60
4.2.3 模運算符 62
4.2.4 整型值和浮點值的相互轉換 64
4.2.5 類型轉換運算符 65
4.3 賦值運算符 66
4.4 Calculator類 67
4.5 練習 70
5 循環結構 73
5.1 for語句 74
5.1.1 鍵盤輸入 81
5.1.2 嵌套的for循環 83
5.1.3 for循環的變體 85
5.2 while語句 86
5.3 do語句 90
5.4 break語句 92
5.5 continue語句 92
5.6 小結 93
5.7 練習 93
6 選擇結構 95
6.1 if語句 95
6.1.1 if-else結構 100
6.1.2 復閤條件測試 103
6.1.3 嵌套的if語句 106
6.1.4 else if結構 107
6.2 switch語句 117
6.3 Boolean變量 120
6.4 條件運算符 125
6.5 練習 127
7 類 129
7.1 分離接口和實現文件 129
7.2 閤成存取方法 134
7.3 使用點運算符訪問屬性 136
7.4 具有多個參數的方法 137
7.4.1 不帶參數名的方法 139
7.4.2 關於分數的操作 140
7.5 局部變量 142
7.5.1 方法的參數 143
7.5.2 static關鍵字 144
7.6 self關鍵字 147
7.7 在方法中分配和返迴對象 148
7.8 練習 151
8 繼承 153
8.1 一切從根類開始 153
8.2 通過繼承來擴展:添加新方法 158
8.2.1 Point類和對象創建 162
8.2.2 @class指令 163
8.2.3 具有對象的類 167
8.3 覆寫方法 171
8.4 抽象類 175
8.5 練習 176
9 多態、動態類型和動態綁定 179
9.1 多態:相同的名稱,不同的類 179
9.2 動態綁定和id類型 182
9.3 編譯時和運行時檢查 184
9.4 id數據類型與靜態類型 185
9.5 有關類的問題 187
9.6 使用@try處理異常 192
9.7 練習 194
10 變量和數據類型 197
10.1 對象的初始化 197
10.2 作用域迴顧 200
10.2.1 控製實例變量作用域的指令 200
10.2.2 全局變量 202
10.2.3 靜態變量 204
10.3 枚舉數據類型 207
10.4 typedef語句 211
10.5 數據類型轉換 212
10.6 位運算符 214
10.6.1 按位與運算符 215
10.6.2 按位或運算符 216
10.6.3 按位異或運算符 217
10.6.4 一次求反運算符 217
10.6.5 嚮左移位運算符 219
10.6.6 嚮右移位運算符 219
10.7 練習 220
11 分類和協議 223
11.1 分類 223
11.2 類的擴展 228
11.3 協議和代理 230
11.3.1 代理 233
11.3.2 非正式協議 233
11.4 閤成對象 234
11.5 練習 236
12 預處理程序 239
12.1 #define語句 239
12.2 #import語句 246
12.3 條件編譯 247
12.3.1 #ifdef、#endif、#else和#ifndef語句 247
12.3.2 #if和#elif預處理程序語句 250
12.3.3 #undef語句 251
12.4 練習 251
13 基本的C語言特性 253
13.1 數組 254
13.1.1 數組元素的初始化 256
13.1.2 字符數組 257
13.1.3 多維數組 258
13.2 函數 260
13.2.1 參數和局部變量 262
13.2.2 函數的返迴結果 263
13.2.3 函數、方法和數組 267
13.3 塊(Blocks) 268
13.4 結構 272
13.4.1 結構的初始化 275
13.4.2 結構中的結構 276
13.4.3 關於結構的補充細節 278
13.4.4 不要忘記麵嚮對象編程思想 279
13.5 指針 279
13.5.1 指針和結構 283
13.5.2 指針、方法和函數 285
13.5.3 指針和數組 286
13.5.4 指針運算 297
13.5.5 指針和內存地址 299
13.6 它們不是對象 299
13.7 其他語言特性 300
13.7.1 復閤字麵量 300
13.7.2 goto語句 300
13.7.3 空語句 301
13.7.4 逗號運算符 301
13.7.5 sizeof運算符 302
13.7.6 命令行參數 303
13.8 工作原理 305
13.8.1 事實#1:實例變量存儲在結構中 305
13.8.2 事實#2:對象變量實際上是指針 306
13.8.3 事實#3:方法是函數,而消息錶達式是函數調用 306
13.8.4 事實#4:id類型是通用指針類型 307
13.9 練習 307
14 Foundation框架簡介 309
14.1 Foundation文檔 309
15 數字、字符串和集閤 313
15.1 數字對象 313
15.2 字符串對象 318
15.2.1 NSLog函數 318
15.2.2 description方法 319
15.2.3 可變對象與不可變對象 320
15.2.4 可變字符串 327
15.3 數組對象 333
15.3.1 製作地址簿 337
15.3.2 數組排序 353
15.4 詞典對象 360
15.4.1 枚舉詞典 361
15.5 集閤對象 363
15.5.1 NSIndexSet 367
15.6 練習 370
16 使用文件 373
16.1 管理文件和目錄:NSFileManager 374
16.1.1 使用NSData類 379
16.1.2 使用目錄 380
16.1.3 枚舉目錄中的內容 383
16.2 使用路徑:NSPathUtilities.h 385
16.2.1 常用的路徑處理方法 388
16.2.2 復製文件和使用NSProcessInfo類 390
16.3 基本的文件操作:NSFileHandle 394
16.4 NSURL類 399
16.5 NSBundle類 400
16.6 練習 401
17 內存管理和自動引用計數 403
17.1 自動垃圾收集 405
17.2 手工管理內存計數 406
17.2.1 對象引用和自動釋放池 407
17.3 事件循環和內存分配 409
17.4 手工內存管理規則的總結 411
17.5 自動引用計數(ARC) 412
17.6 強變量 412
17.7 弱變量 413
17.8 @autoreleasepool塊 415
17.9 方法名和非ARC編譯代碼 415
18 復製對象 417
18.1 copy和mutableCopy方法 418
18.2 淺復製與深復製 420
18.3 實現<NSCopying>協議 422
18.4 用設值方法和取值方法復製對象 425
18.5 練習 428
19 歸檔 429
19.1 使用XML屬性列錶進行歸檔 429
19.2 使用NSKeyedArchiver歸檔 432
19.3 編碼方法和解碼方法 433
19.4 使用NSData創建自定義檔案 440
19.5 使用歸檔程序復製對象 444
19.6 練習 445
20 Cocoa和Cocoa Touch簡介 447
20.1 框架層 447
20.2 Cocoa Touch 448
21 編寫iOS應用程序 451
21.1 iOS SDK 451
21.2 第一個iPhone應用程序 451
21.2.1 創建新的iPhone應用程序項目 454
21.2.2 輸入代碼 457
21.2.3 設計界麵 460
21.3 iPhone分數計算器 466
21.3.1 啓動新的Fraction_Calculator項目 468
21.3.2 定義視圖控製器 468
21.3.3 Fraction類 474
21.3.4 處理分數的Calculator類 477
21.3.5 設計UI 479
21.4 小結 479
21.5 練習 481
附錄A 術語錶 483
附錄B 地址簿示例源代碼 495
· · · · · · (
收起)