Obejctive-C 2.0 Mac和iOS開發實踐指南

Obejctive-C 2.0 Mac和iOS開發實踐指南

《Obejctive-C2.0Mac和iOS開發實踐指南》是2011年機械工業出版社出版的圖書,作者是RobertClair。

基本介紹

  • 書名:Obejctive-C 2.0 Mac和iOS開發實踐指南
  • 作者:Robert Clair  
  • 譯者:李強
  • ISBN:9787111329275 
  • 頁數:283
  • 出版社:機械工業出版社
基本信息,內容簡介,目錄,

基本信息

原書名: Learning Objective-C 2.0: A Hands-On Guide to Objective-C for Mac and iOS Developers
原出版社: Addison-Wesley Professional
上架時間:2011-3-7
出版日期:2011 年2月
開本:16開
頁碼:283
版次:1-1

內容簡介

《obejctive-c 2.0 mac和ios開發實踐指南》專門為那些想要學習objective-c以便為mac os x或ios編寫程式的程式設計師量身打造。籃棄遷本書分為四部分。第一部分介紹學習objective-c編程所旋臭需的c語言愉講兆基礎知識。第二部分介紹objective-c編程的核心知識,包括訊息機制、類和對象、類對象等。第三部分介紹objective-c中的高級概念,包括引用計數、垃圾收集和objective-c 2.0的新功能塊。第四部分提供了objective-c程式設計師常用的信息和資料。本書大多數章末都提供了練習,讀者可以通過練習鞏固在書中學到的知識。
《obejctive-c 2.0 mac和ios開發實踐指南》內容精練、可讀性強、易於學習,側重通過示例來介紹知識點和概念,是一本學習objective-c 2.0不可多得的入門實踐指南。本棄達察書適合想要學習objective-c 2.0程式語言的初、中級程式設計師閱讀,也可以作為社會培訓機構的入門級培訓教輔材料。

目錄

對本書的讚譽
譯者序
前言
致謝
第一部微探危分 objective-c簡介
第1章 c,objective-c的基礎 2
1.1 c程式的結構 3
1.1.1 main函式 3
1.1.2 格式化 3
1.1.3 注釋 4
1.1.4 變數悼疊頸紋和函式名 4
1.1.5 命名慣例 5
1.1.6 檔案 5
1.2 變數 6
1.2.1 整數類型 6
1.2.2 浮點類型 7
1.2.3 真值 7
1.2.4 初始化 7
1.2.5 指針 8
1.2.6 數組 9
.1.2.7 字元串 10
1.2.8 結構 10
1.2.9 typedef 12
1.2.10 枚舉常量 12
1.3 運算符 12
1.3.1 算術運算符 12
1.3.2 餘數運算符棄霉嘗放 13
1.3.3 自增和自減運算符 13
1.3.4 優先權 13
1.3.5 取反 14
1.3.6 比較 14
1.3.7 邏輯運算符 14
1.3.8 邏輯取反 15
1.3.9 賦值運算符 15
1.3.10 轉換和強制類型轉換 16
1.3.11 其他賦值運算符 16
1.4 表達式和語句 17
1.4.1 表達式 17
1.4.2 計算表達式 17
1.4.3 語句 18
1.4.4 複合語句 18
1.5 程式流程 18
1.5.1 if 18
1.5.2 條件表達式 19
1.5.3 while 20
1.5.4 do-while 20
1.5.5 for 20
1.5.6 break 21
1.5.7 continue 22
1.5.8 逗號表達式 22
1.5.9 switch 22
1.5.10 goto 23
1.5.11 函式 24
1.5.12 聲明函式 25
1.6 預處理器 26
1.6.1 包含檔案 26
1.6.2 #define 26
1.6.3 條件編譯 27
1.7 printf 28
1.8 使用gcc和gdb 29
1.9 小結 30
1.10 練習 30
第2章 c變數 33
2.1 objective-c程式的記憶體布局 33
2.2 自動變數 34
2.3 外部變數 35
2.4 聲明關鍵字 35
2.4.1 auto 35
2.4.2 extern 36
2.4.3 static 36
2.4.4 register 37
2.4.5 const 37
2.4.6 volatile 37
2.5 作用域 38
2.5.1 自動變數的作用域 38
2.5.2 複合語句和作用域 38
2.5.3 外部變數的作用域 39
2.6 動態分配 39
2.7 小結 41
2.8 練習 42
第3章 面向對象編程簡介 43
3.1 面向對象編程 43
3.1.1 類和實例 43
3.1.2 方法 44
3.1.3 封裝 44
3.1.4 繼承 44
3.1.5 多態 45
3.1.6 面向對象語言的主要特點是什麼 45
3.2 objective-c簡介 45
3.2.1 定義類 46
3.2.2 類名作為類型 48
3.2.3 訊息(調用方法) 48
3.2.4 類對象和對象創建 50
3.2.5 記憶體管理 51
3.3 objective-c添加 51
3.3.1 運行時 51
3.3.2 名稱 52
3.3.3 訊息表達式 52
3.3.4 編譯器指令 52
3.3.5 直接量字元串 52
3.3.6 objective-c關鍵字 53
3.3.7 cocoa數字類型 55
3.4 小結 56
第4章 第一個objective-c程式 57
4.1 使用xcode構建 57
4.2 objective-c程式結構 59
4.3 面向對象的hello world 61
4.3.1 greeter.h 63
4.3.2 greeter.m 65
4.4 helloobjectivec.m 68
4.5 小結 69
4.6 練習 70
第二部分 語言基礎
第5章 訊息 72
5.1 方法 72
5.1.1 一個簡單的方法 72
5.1.2 帶有參數的方法 73
5.2 訊息 74
5.3 訊息細節 76
5.3.1 嵌套 76
5.3.2 向nil傳送訊息 77
5.3.3 向self傳送訊息 78
5.3.4 覆蓋並向super傳送訊息 78
5.3.5 選擇器 80
5.3.6 具有相同名稱的方法 81
5.3.7 動態類型和靜態類型 82
5.4 幕後工作 83
5.5 訊息轉發 84
5.6 效率 85
5.7 內省和其他運行時樂趣 87
5.8 小結 88
5.9 練習 88
第6章 類和對象 90
6.1 定義類 90
6.1.1 接口部分 90
6.1.2 @class指令 91
6.1.3 實現部分 92
6.1.4 導入 92
6.2 子類化一個類 93
6.2.1 定義一個子類 93
6.2.2 子類示例 94
6.2.3 類繼承 97
6.2.4 類層級示例 97
6.2.5 抽象類 98
6.3 創建對象 99
6.3.1 對象分配 99
6.3.2 對象初始化 100
6.4 銷毀對象 106
6.5 複製對象 107
6.5.1 淺複製和深複製 108
6.5.2 可變複製和不可變複製 108
6.5.3 在自己的類中實現複製 109
6.6 小結 111
6.7 練習 112
第7章 類對象 113
7.1 類對象 113
7.1.1 類類型 114
7.1.2 類方法 115
7.2 其他類方法 116
7.2.1 簡便構造函式 116
7.2.2 單體 118
7.2.3 初始化類 118
7.3 模擬類變數 120
7.4 小結 124
7.5 練習 125
第8章 框架 127
8.1 什麼是框架 127
8.2 cocoa框架 128
8.3 appkit 129
8.4 core foundation 130
8.4.1 core foundation對象的記憶體管理 131
8.4.2 自由轉換 132
8.5 core graphics 133
8.6 core animation 133
8.7 其他apple提供的框架 134
8.8 第三方框架 134
8.9 幕後揭秘 135
8.10 小結 135
第9章 常用foundation類 136
9.1 可變類和不可變類 136
9.2 類簇 136
9.3 nsstring 137
9.3.1 nsstring示例 138
9.3.2 c字元串和nsstring之間的轉換 140
9.3.3 直接量字元串 141
9.4 集合類 141
9.4.1 nsarray 141
9.4.2 nsdictionary 144
9.4.3 nsset 145
9.5 nsnumber 146
9.6 nsnull 147
9.7 nsdata 148
9.7.1 訪問nsdata的位元組 149
9.7.2 檔案和nsdata之間的轉換 149
9.8 nsurl 149
9.9 結構 150
9.10 小結 151
9.11 練習 151
第10章 objective-c中的控制結構 153
10.1 if語句 153
10.2 for語句和隱式循環 156
10.2.1 for語句 156
10.2.2 隱式循環 156
10.2.3 帶有塊的隱式循環 157
10.3 while語句和nsenumerator 157
10.4 快速枚舉 159
10.5 一個使用快速枚舉的示例 161
10.6 異常 164
10.6.1 拋出自己的異常 165
10.6.2 多個@catch語句塊 166
10.6.3 嵌套異常處理 167
10.6.4 使用異常 168
10.6.5 應該使用異常嗎 168
10.7 小結 170
10.8 練習 170
第11章 分類、擴展和安全 172
11.1 分類 172
11.1.1 使用分類覆蓋方法 174
11.1.2 分類的其他用法 175
11.2 擴展 176
11.3 實例變數作用域(訪問控制) 177
11.4 對方法的訪問控制 178
11.5 命名空間 179
11.6 安全 179
11.7 從objective-c調用c函式 181
11.7.1 技術上 181
11.7.2 實踐上 182
11.7.3 哲學上 182
11.8 小結 182
11.9 練習 182
第12章 特性 184
12.1 在對象之外訪問實例變數(不要這么做) 184
12.2 聲明和實現訪問器 185
12.3 使用特性的訪問器 187
12.4 @property語句 189
12.4.1 assign、retain和copy 189
12.4.2 readwrite和readonly 190
12.4.3 nonatomic 190
12.4.4 setter=nam和getter=name 191
12.4.5 attributes和@dynamic 191
12.5 關於@dynamic的更多內容 191
12.6 特性和記憶體管理 193
12.7 子類化和特性 194
12.8 對readonly特性隱藏setter 195
12.9 特性作為文檔 195
12.10 點語法 196
12.10.1 點語法和特性 197
12.10.2 點語法和c結構 198
12.11 小結 199
12.12 練習 199
第13章 協定 201
13.1 協定 201
13.2 使用協定 202
13.2.1 聲明一個協定 202
13.2.2 採用協定 203
13.2.3 協定作為類型 203
13.2.4 特性和協定 203
13.3 tableprinter示例 204
13.3.1 tableprinterdatasource 205
13.3.2 tableprinter 205
13.3.3 fruitbasket 207
13.3.4 main 209
13.3.5 一個問題 210
13.3.6 實現可選的方法 210
13.4 協定對象和一致性測試 211
13.5 非正式協定 212
13.6 小結 212
13.7 練習 213
第三部分 高級概念
第14章 引用計數 216
14.1 問題 216
14.2 引用計數 217
14.3 接受對象 219
14.4 所有權 221
14.5 dealloc 222
14.6 返回對象 223
14.6.1 autorelease 224
14.6.2 自動釋放池 224
14.6.3 管理自動釋放池 225
14.6.4 回顧簡便構造函式 226
14.6.5 自動釋放和iphone 226
14.6.6 使用額外的自動釋放池來控制記憶體使用 226
14.7 retaincount 227
14.8 多執行緒 228
14.9 何時引用計數不好 229
14.10 保留循環 230
14.11 最後說再見:曲終人散時 233
14.12 小結 233
14.13 練習 234
第15章 垃圾收集 236
15.1 垃圾收集:理論 236
15.2 垃圾收集:實踐 237
15.3 使用垃圾收集器 238
15.4 終結器 240
15.5 malloc和垃圾收集 241
15.6 core foundation對象和垃圾收集 241
15.7 過程中的一些難點 242
15.7.1 appkit中的透明指針問題 242
15.7.2 內部指針 245
15.7.3 錯誤的根對象 246
15.8 垃圾收集的優點和缺點 246
15.8.1 積極方面 246
15.8.2 消極方面 246
15.8.3 應該使用垃圾收集嗎 246
15.9 小結 247
15.10 練習 247
第16章 塊 251
16.1 函式指針 251
16.1.1 用函式指針調用一個函式 253
16.1.2 使用函式指針 253
16.2 使用函式指針的問題 255
16.3 nsinvocation 256
16.4 塊 258
16.4.1 塊指針 258
16.4.2 訪問變數 259
16.4.3 塊變數 261
16.4.4 塊是基於棧的 261
16.4.5 全局塊 262
16.4.6 塊是objective-c對象 262
16.4.7 複製塊 262
16.4.8 塊的記憶體管理 263
16.4.9 陷阱 265
16.4.10 cocoa中的塊 266
16.4.11 樣式問題 269
16.5 一些原理上的限制 270
16.6 小結 270
16.7 練習 270
第四部分 附錄
附錄a 保留字和編譯器指令 274
附錄b 自由轉換類 275
附錄c 32位和64位 276
附錄d 運行時,舊的和新的 279
附錄e objective-c的資源 282
1.3.11 其他賦值運算符 16
1.4 表達式和語句 17
1.4.1 表達式 17
1.4.2 計算表達式 17
1.4.3 語句 18
1.4.4 複合語句 18
1.5 程式流程 18
1.5.1 if 18
1.5.2 條件表達式 19
1.5.3 while 20
1.5.4 do-while 20
1.5.5 for 20
1.5.6 break 21
1.5.7 continue 22
1.5.8 逗號表達式 22
1.5.9 switch 22
1.5.10 goto 23
1.5.11 函式 24
1.5.12 聲明函式 25
1.6 預處理器 26
1.6.1 包含檔案 26
1.6.2 #define 26
1.6.3 條件編譯 27
1.7 printf 28
1.8 使用gcc和gdb 29
1.9 小結 30
1.10 練習 30
第2章 c變數 33
2.1 objective-c程式的記憶體布局 33
2.2 自動變數 34
2.3 外部變數 35
2.4 聲明關鍵字 35
2.4.1 auto 35
2.4.2 extern 36
2.4.3 static 36
2.4.4 register 37
2.4.5 const 37
2.4.6 volatile 37
2.5 作用域 38
2.5.1 自動變數的作用域 38
2.5.2 複合語句和作用域 38
2.5.3 外部變數的作用域 39
2.6 動態分配 39
2.7 小結 41
2.8 練習 42
第3章 面向對象編程簡介 43
3.1 面向對象編程 43
3.1.1 類和實例 43
3.1.2 方法 44
3.1.3 封裝 44
3.1.4 繼承 44
3.1.5 多態 45
3.1.6 面向對象語言的主要特點是什麼 45
3.2 objective-c簡介 45
3.2.1 定義類 46
3.2.2 類名作為類型 48
3.2.3 訊息(調用方法) 48
3.2.4 類對象和對象創建 50
3.2.5 記憶體管理 51
3.3 objective-c添加 51
3.3.1 運行時 51
3.3.2 名稱 52
3.3.3 訊息表達式 52
3.3.4 編譯器指令 52
3.3.5 直接量字元串 52
3.3.6 objective-c關鍵字 53
3.3.7 cocoa數字類型 55
3.4 小結 56
第4章 第一個objective-c程式 57
4.1 使用xcode構建 57
4.2 objective-c程式結構 59
4.3 面向對象的hello world 61
4.3.1 greeter.h 63
4.3.2 greeter.m 65
4.4 helloobjectivec.m 68
4.5 小結 69
4.6 練習 70
第二部分 語言基礎
第5章 訊息 72
5.1 方法 72
5.1.1 一個簡單的方法 72
5.1.2 帶有參數的方法 73
5.2 訊息 74
5.3 訊息細節 76
5.3.1 嵌套 76
5.3.2 向nil傳送訊息 77
5.3.3 向self傳送訊息 78
5.3.4 覆蓋並向super傳送訊息 78
5.3.5 選擇器 80
5.3.6 具有相同名稱的方法 81
5.3.7 動態類型和靜態類型 82
5.4 幕後工作 83
5.5 訊息轉發 84
5.6 效率 85
5.7 內省和其他運行時樂趣 87
5.8 小結 88
5.9 練習 88
第6章 類和對象 90
6.1 定義類 90
6.1.1 接口部分 90
6.1.2 @class指令 91
6.1.3 實現部分 92
6.1.4 導入 92
6.2 子類化一個類 93
6.2.1 定義一個子類 93
6.2.2 子類示例 94
6.2.3 類繼承 97
6.2.4 類層級示例 97
6.2.5 抽象類 98
6.3 創建對象 99
6.3.1 對象分配 99
6.3.2 對象初始化 100
6.4 銷毀對象 106
6.5 複製對象 107
6.5.1 淺複製和深複製 108
6.5.2 可變複製和不可變複製 108
6.5.3 在自己的類中實現複製 109
6.6 小結 111
6.7 練習 112
第7章 類對象 113
7.1 類對象 113
7.1.1 類類型 114
7.1.2 類方法 115
7.2 其他類方法 116
7.2.1 簡便構造函式 116
7.2.2 單體 118
7.2.3 初始化類 118
7.3 模擬類變數 120
7.4 小結 124
7.5 練習 125
第8章 框架 127
8.1 什麼是框架 127
8.2 cocoa框架 128
8.3 appkit 129
8.4 core foundation 130
8.4.1 core foundation對象的記憶體管理 131
8.4.2 自由轉換 132
8.5 core graphics 133
8.6 core animation 133
8.7 其他apple提供的框架 134
8.8 第三方框架 134
8.9 幕後揭秘 135
8.10 小結 135
第9章 常用foundation類 136
9.1 可變類和不可變類 136
9.2 類簇 136
9.3 nsstring 137
9.3.1 nsstring示例 138
9.3.2 c字元串和nsstring之間的轉換 140
9.3.3 直接量字元串 141
9.4 集合類 141
9.4.1 nsarray 141
9.4.2 nsdictionary 144
9.4.3 nsset 145
9.5 nsnumber 146
9.6 nsnull 147
9.7 nsdata 148
9.7.1 訪問nsdata的位元組 149
9.7.2 檔案和nsdata之間的轉換 149
9.8 nsurl 149
9.9 結構 150
9.10 小結 151
9.11 練習 151
第10章 objective-c中的控制結構 153
10.1 if語句 153
10.2 for語句和隱式循環 156
10.2.1 for語句 156
10.2.2 隱式循環 156
10.2.3 帶有塊的隱式循環 157
10.3 while語句和nsenumerator 157
10.4 快速枚舉 159
10.5 一個使用快速枚舉的示例 161
10.6 異常 164
10.6.1 拋出自己的異常 165
10.6.2 多個@catch語句塊 166
10.6.3 嵌套異常處理 167
10.6.4 使用異常 168
10.6.5 應該使用異常嗎 168
10.7 小結 170
10.8 練習 170
第11章 分類、擴展和安全 172
11.1 分類 172
11.1.1 使用分類覆蓋方法 174
11.1.2 分類的其他用法 175
11.2 擴展 176
11.3 實例變數作用域(訪問控制) 177
11.4 對方法的訪問控制 178
11.5 命名空間 179
11.6 安全 179
11.7 從objective-c調用c函式 181
11.7.1 技術上 181
11.7.2 實踐上 182
11.7.3 哲學上 182
11.8 小結 182
11.9 練習 182
第12章 特性 184
12.1 在對象之外訪問實例變數(不要這么做) 184
12.2 聲明和實現訪問器 185
12.3 使用特性的訪問器 187
12.4 @property語句 189
12.4.1 assign、retain和copy 189
12.4.2 readwrite和readonly 190
12.4.3 nonatomic 190
12.4.4 setter=nam和getter=name 191
12.4.5 attributes和@dynamic 191
12.5 關於@dynamic的更多內容 191
12.6 特性和記憶體管理 193
12.7 子類化和特性 194
12.8 對readonly特性隱藏setter 195
12.9 特性作為文檔 195
12.10 點語法 196
12.10.1 點語法和特性 197
12.10.2 點語法和c結構 198
12.11 小結 199
12.12 練習 199
第13章 協定 201
13.1 協定 201
13.2 使用協定 202
13.2.1 聲明一個協定 202
13.2.2 採用協定 203
13.2.3 協定作為類型 203
13.2.4 特性和協定 203
13.3 tableprinter示例 204
13.3.1 tableprinterdatasource 205
13.3.2 tableprinter 205
13.3.3 fruitbasket 207
13.3.4 main 209
13.3.5 一個問題 210
13.3.6 實現可選的方法 210
13.4 協定對象和一致性測試 211
13.5 非正式協定 212
13.6 小結 212
13.7 練習 213
第三部分 高級概念
第14章 引用計數 216
14.1 問題 216
14.2 引用計數 217
14.3 接受對象 219
14.4 所有權 221
14.5 dealloc 222
14.6 返回對象 223
14.6.1 autorelease 224
14.6.2 自動釋放池 224
14.6.3 管理自動釋放池 225
14.6.4 回顧簡便構造函式 226
14.6.5 自動釋放和iphone 226
14.6.6 使用額外的自動釋放池來控制記憶體使用 226
14.7 retaincount 227
14.8 多執行緒 228
14.9 何時引用計數不好 229
14.10 保留循環 230
14.11 最後說再見:曲終人散時 233
14.12 小結 233
14.13 練習 234
第15章 垃圾收集 236
15.1 垃圾收集:理論 236
15.2 垃圾收集:實踐 237
15.3 使用垃圾收集器 238
15.4 終結器 240
15.5 malloc和垃圾收集 241
15.6 core foundation對象和垃圾收集 241
15.7 過程中的一些難點 242
15.7.1 appkit中的透明指針問題 242
15.7.2 內部指針 245
15.7.3 錯誤的根對象 246
15.8 垃圾收集的優點和缺點 246
15.8.1 積極方面 246
15.8.2 消極方面 246
15.8.3 應該使用垃圾收集嗎 246
15.9 小結 247
15.10 練習 247
第16章 塊 251
16.1 函式指針 251
16.1.1 用函式指針調用一個函式 253
16.1.2 使用函式指針 253
16.2 使用函式指針的問題 255
16.3 nsinvocation 256
16.4 塊 258
16.4.1 塊指針 258
16.4.2 訪問變數 259
16.4.3 塊變數 261
16.4.4 塊是基於棧的 261
16.4.5 全局塊 262
16.4.6 塊是objective-c對象 262
16.4.7 複製塊 262
16.4.8 塊的記憶體管理 263
16.4.9 陷阱 265
16.4.10 cocoa中的塊 266
16.4.11 樣式問題 269
16.5 一些原理上的限制 270
16.6 小結 270
16.7 練習 270
第四部分 附錄
附錄a 保留字和編譯器指令 274
附錄b 自由轉換類 275
附錄c 32位和64位 276
附錄d 運行時,舊的和新的 279
附錄e objective-c的資源 282

相關詞條

熱門詞條

聯絡我們