突破,Objective-C開發速學手冊(含CD光碟1張)

內容介紹

本書由淺入深,全面、系統地介紹了Objective-C開發技術。本書最大的特色就是提供了大量的插圖,一改過去編程書籍只有枯燥乏味的文字講解,利用各種說明插圖和運行結果示意圖,生動形象地再現了Objective-C開發需要的所有知識,使讀者能夠輕鬆地掌握學習內容。另外,作者專門為每一章編寫了一些習題,以便讀者對該章的學習水平進行檢測。
本書涉及面廣,從基礎的理論到語法,再到高級的套用,幾乎涉及Objective-C語言的所有重點知識。本書適合想全面學習Objective-C語言的人員閱讀,也適合各種使用Objective-C語言進行開發的工程技術人員使用。對經常使用Objective-C語言進行開發的人員,更是一本不可多得的案頭必備參考書。

作品目錄

第一篇基礎篇
第1章第一個Objective-C程式 2
1.1Objective-C開發概述 2
1.1.1Objective-C的發展史 2
1.1.2Objective-C的特點 3
1.2構建開發環境 4
1.2.1Objective-C開發環境的安裝條件 4
1.2.2VirtualBox下載和安裝 5
1.2.3虛擬機的建立 7
1.2.4設定虛擬機 10
1.2.5安裝系統 11
1.2.6進入界面 11
1.2.7下載和安裝Xcode 16
1.3“Hello World!”程式 20
1.3.1創建Hello Objective-C項目 20
1.3.2編譯、連結及運行 22
1.4Objective-C代碼認識 24
1.4.1查看源檔案 24
1.4.2Objective-C程式的結構 25
1.4.3注釋 25
1.4.4標識符 26
1.5小結 28
1.6習題 28
第2章數據類型 30
2.1數 30
2.1.1二進制數 30
2.1.2十進制數 31
2.1.3八進制數 32
2.1.4十六進制數 33
2.1.5各進制之間的轉換 34
2.2數據類型 34
2.2.1整數類型 34
2.2.2實型數據 36
2.2.3字元型 37
2.2.4數據類型的輸出 40
2.2.5Objective-C特有的數據類型 40
2.3變數和常量 40
2.3.1變數 41
2.3.2常量 43
2.4小結 45
2.5習題 45
第3章語句 48
3.1語句的構成 48
3.2運算符及表達式 49
3.2.1算術運算符及表達式 49
3.2.2自增自減運算符 51
3.2.3位運算符 52
3.2.4賦值運算符及表達式 55
3.2.5關係運算符及表達式 59
3.2.6條件運算符 60
3.2.7布爾邏輯運算符及表達式 62
3.2.8逗號運算符及表達式 64
3.2.9求位元組數運算符 65
3.2.10特殊的運算符 66
3.2.11運算符的優先權 67
3.3類型轉換 69
3.3.1自動轉換 69
3.3.2強制類型轉換 71
3.4語句塊 72
3.4.1語句塊的結構 72
3.4.2作用域 73
3.5小結 74
3.6習題 74
第4章程式控制結構 77
4.1順序結構 77
4.2選擇結構 78
4.2.1條件語句的組成 78
4.2.2if語句 79
4.2.3if...else語句 80
4.2.4if...else...if語句 82
4.2.5三種if語句的注意事項 84
4.2.6if語句的嵌套 86
4.2.7switch語句 87
4.3循環結構 90
4.3.1while語句 91
4.3.2for語句 92
4.3.3do...while語句 97
4.3.4三種循環語句的比較 98
4.4轉折語句 99
4.4.1break語句 99
4.4.2continue 101
4.4.3break和continue的比較 101
4.4.4return語句 102
4.5小結 102
4.6習題 103
第5章函式 105
5.1函式簡介 105
5.2函式的使用 107
5.2.1函式的聲明 107
5.2.2函式的定義和調用 107
5.2.3函式使用中的問題 109
5.2.4空函式 110
5.3函式的參數 111
5.3.1參數 111
5.3.2有參函式的定義和調用 112
5.3.3參數的注意事項 113
5.3.4函式的傳遞方式 114
5.4函式的返回值 115
5.4.1返回某一數據類型的值 115
5.4.2無返回值 117
5.5函式的嵌套和遞歸 117
5.5.1函式的嵌套 117
5.5.2函式的遞歸 119
5.6小結 120
5.7習題 120
第二篇面向對象篇
第6章面向對象編程 124
6.1類和對象 124
6.1.1類的聲明和定義 124
6.1.2實例化對象 126
6.2實例變數 130
6.2.1實例變數的定義 130
6.2.2實例變數的使用 130
6.2.3實例變數、全局變數和局部變數的區別 131
6.2.4變數的存儲類別 132
6.3方法 135
6.3.1方法的聲明 135
6.3.2方法的實現 136
6.3.3對象方法的使用 136
6.3.4類方法的使用 138
6.3.5方法的參數 139
6.4屬性 142
6.4.1屬性的聲明和定義 142
6.4.2帶參屬性 144
6.4.3帶參屬性——setter/getter方法(assign/retain/copy) 144
6.4.4帶參屬性——讀寫屬性 148
6.4.5帶參屬性——原子修飾 149
6.5小結 150
6.6習題 150
第7章深入面向對象的編程 154
7.1繼承 154
7.1.1繼承的實現 154
7.1.2實例變數的繼承 155
7.1.3方法的繼承 158
7.2訪問限定符 159
7.2.1@public 159
7.2.2@protected 161
7.2.3@private 161
7.2.4訪問限定符的區別 162
7.3方法重寫 163
7.3.1方法重寫的形式 163
7.3.2super 164
7.4方法重載 165
7.5多層繼承 166
7.6多態 169
7.6.1多態的形式 169
7.6.2方法的重寫實現多態 170
7.6.3方法的重載實現多態 171
7.7動態類型和動態綁定 172
7.7.1動態類型id 172
7.7.2動態綁定 173
7.8小結 174
7.9習題 174
第8章分類和協定 180
8.1分類 180
8.1.1分類的聲明 180
8.1.2分類的定義 180
8.1.3分類的使用 181
8.1.4分類的創建 181
8.1.5分類使用的注意點 183
8.2協定 185
8.2.1協定的定義 185
8.2.2協定的創建 186
8.2.3協定在類中的聲明 187
8.2.4所用協定聲明方法 187
8.2.5關鍵字 188
8.2.6多個協定的使用 192
8.2.7在協定中使用協定 193
8.2.8判斷協定實現的方法 194
8.2.9協定的分類 195
8.3小結 196
8.4習題 196
第三篇技術篇
第9章記憶體管理 200
9.1記憶體管理的基礎 200
9.1.1申請記憶體(alloc) 200
9.1.2釋放記憶體(dealloc) 201
9.2引用計數 204
9.2.1引用計數和字元串 205
9.2.2引用計數和實例變數 206
9.3自動釋放池 207
9.3.1自動釋放池 207
9.3.2建立多個自動釋放池 209
9.3.3引用計數和自動釋放池 210
9.4記憶體管理規則及記憶體泄漏 211
9.4.1記憶體管理規則 211
9.4.2記憶體泄漏 213
9.5垃圾回收 213
9.6小結 214
9.7習題 214
第10章Foundation框架的基本對象 217
10.1數字對象 217
10.1.1數字對象的介紹 217
10.1.2數字對象的使用 218
10.2字元串對象 224
10.2.1字元串和字元的區別 224
10.2.2不可修改的字元串 225
10.2.3可修改的字元串 232
10.3數組對象 235
10.3.1數組的定義 235
10.3.2數組的聲明 235
10.3.3數組的引用 237
10.3.4二維數組的聲明和定義 238
10.3.5二維數組初始化的方法 239
10.3.6二維數組的引用 240
10.3.7字元數組的含義 241
10.3.8字元數組初始化 241
10.3.9字元數組的引用 241
10.3.10不可修改的數組 242
10.3.11可修改的數組 246
10.4字典對象 251
10.4.1不可修改的字典 251
10.4.2.可修改的字典 253
10.5集合對象 256
10.5.1不可修改的集合 257
10.5.2可修改的集合 259
10.6小結 263
10.7習題 263
第11章檔案和目錄處理 267
11.1檔案的操作 267
11.1.1創建檔案 267
11.1.2檔案的使用 268
11.1.3對檔案數據的操作 274
11.1.4檔案的讀寫 278
11.2目錄的操作 286
11.2.1目錄的基本操作方法 286
11.2.2目錄的顯示 289
11.2.3臨時目錄 292
11.2.4路徑 293
11.3小結 294
11.4習題 294
第12章編譯預處理 296
12.1宏定義 296
12.1.1不帶參宏定義 296
12.1.2帶參宏 297
12.1.3使用宏的注意點 298
12.1.4宏的取消 299
12.2檔案包含 301
12.3條件編譯 304
12.3.1#ifdef 304
12.3.2#ifndef 305
12.3.3#if 307
12.3.4編譯預處理總結 307
12.4小結 308
12.5習題 308
第13章進程和執行緒 312
13.1進程 312
13.1.1創建進程 312
13.1.2進程的使用 313
13.1.3進程方法總結 315
13.2執行緒 315
13.2.1使用NSThread創建執行緒 316
13.2.2啟動執行緒 316
13.2.3訪問主執行緒 318
13.3互斥鎖 318
13.3.1NSLock 319
13.3.2@synchronized 320
13.4進程和執行緒的區別 321
13.5小結 322
13.6習題 322
第14章歸檔 324
14.1XML屬性列表 324
14.1.1使用XML進行數據保存 324
14.1.2使用XML進行數據讀取 326
14.2NSKeyedArchiver 329
14.2.1NSKeyedArchive的數據保存 330
14.2.2NSKeyedArchive的數據讀取 331
14.3編碼和解碼方法 331
14.3.1直接進行歸檔 332
14.3.2編碼方法 333
14.3.3解碼方法 333
14.4保存多個對象到一個檔案 335
14.5使用歸檔程式複製對象 337
14.6小結 337
14.7習題 338
第15章錯誤處理 341
15.1錯誤的分類 341
15.2使用返回值 342
15.3使用異常處理 342
15.3.1異常處理的使用 343
15.3.2捕獲不同類型的異常 345
15.3.3使用異常的注意點 346
15.3.4拋出異常 348
15.4使用NSError 349
15.5小結 350
15.6習題 351
第16章時間日期處理 352
16.1NSDate 352
16.1.1創建NSDate 352
16.1.2獲取當前的日期 353
16.1.3獲取昨天的日期 353
16.1.4日期的比較 355
16.1.5兩個日期的時間差 358
16.1.6時間間隔 358
16.2使用NSCalendar 359
16.2.1創建一個給定日期的NSDate對象 359
16.2.2日期在不同日曆間的轉換 361
16.2.3獲取日期總的年月日 361
16.3字元串和日期的相互轉化 362
16.3.1將日期轉化為字元串 362
16.3.2將字元串轉化為日期 363
16.4時區 365
16.5小結 366
16.6習題 366
第四篇iPhone開發入門篇
第17章iPhone入門 370
17.1iPhone簡介 370
17.1.1iPhone的發展 370
17.1.2編寫iPhone應用程式和其他程式的不同 371
17.2第一個“Hello World!”程式 371
17.2.1創建Hello World項目 371
17.2.2iPhone Simulator的簡介 371
17.2.3使用Interface Builder 373
17.2.4編寫第一個“Hello World!”程式 376
17.3小結 378

相關詞條

熱門詞條

聯絡我們