Objective-C 程式設計(第4版)

《Objective-C程式設計(第4版)》是一本Objective—C編程領域最暢銷的書籍,內容涵蓋Xcode 4.2和自動引用計數(ARC)。《Objective-C程式設計(第4版)》詳細介紹了Objective—C和蘋果iOS、Mac平台面向對象程式編程的知識。《Objective-C程式設計(第4版)》結合獨特的學習方法,在每章都編寫有大量的小程式例子和練習,使Objective—C程式設計適合於課堂教學和自學。

作者介紹

Stephen Kochan是多本暢銷書的作者或合著者,其中有關於C語言的,包括《Programming in C》(Sams,2004)、《Programming in ANSI C》(Sams,1994)和《Topics in C Programming》(Wiley,1991),也有關於UNIX的,包括《Exploring the UNIX System》(Sams,1992)和《Unix Shell Programming》(Sams,2003)。從1984年Mac最初引進時,他就已經在Macintosh計算機上編程了,他編寫的《Programming C for the Mac》是Apple Press Library的一部分。2003年,Kochan編寫了《Programming in Objective-C》(Sams,2003),之後編寫了另一本與Mac有關的書籍《Befinning AppleScript》(Wiley,2004)。

作品目錄

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

相關詞條

相關搜尋

熱門詞條

聯絡我們