注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合蘋果開發(fā)之Cocoa編程(原書第4版)

蘋果開發(fā)之Cocoa編程(原書第4版)

蘋果開發(fā)之Cocoa編程(原書第4版)

定 價:¥69.00

作 者: (美)希萊加斯(Hillegass, A.),(美)普雷布爾(Preble, A.)著,黃敏,郝剛 等譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 華章程序員書庫
標(biāo) 簽: Oracle

ISBN: 9787111391364 出版時間: 2012-08-01 包裝: 平裝
開本: ` 頁數(shù): 384 字?jǐn)?shù):  

內(nèi)容簡介

  《蘋果開發(fā)之Cocoa編程(原書第4版)》是在Aaron多年教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上進(jìn)行了總結(jié)提煉的精華之作,加之前面3版不斷推敲和完善,已經(jīng)成為學(xué)習(xí)Cocoa編程的入門級經(jīng)典書籍。本書系統(tǒng)介紹了Objective-C語言、Cocoa主要的設(shè)計(jì)模式、必要的開發(fā)工具Xcode和Instruments等,同時新引入了ARC、blocks、view-based table views和Mac應(yīng)用商店,并專門開辟一章用于介紹在iOS上的基礎(chǔ)開發(fā)。相比于之前的版本,本書在Cocoa框架新特性、新技術(shù)的基礎(chǔ)上,更加側(cè)重實(shí)戰(zhàn),也更加結(jié)合應(yīng)用發(fā)展的最新趨勢?!短O果開發(fā)之Cocoa編程(原書第4版)》以具體的實(shí)例貫穿,引導(dǎo)讀者通過實(shí)踐學(xué)習(xí)Cocoa框架的基本思想。在本書中,讀者不僅能夠看到技術(shù)細(xì)節(jié),更能看到不斷剖析、層層遞進(jìn)的解決問題的思路,甚至可以看到如何查找資料、獲取幫助的方法,幫助讀者建立規(guī)范、科學(xué)的設(shè)計(jì)開發(fā)習(xí)慣。閱讀本書不要求讀者擁有任何的Mac編程經(jīng)驗(yàn),只需要了解基本的C語言,以及面向?qū)ο蟮闹R即可。相信《蘋果開發(fā)之Cocoa編程(原書第4版)》能夠推動蘋果中文社區(qū)的進(jìn)一步發(fā)展、壯大,也希望能夠?qū)bjective-C和Cocoa框架以及蘋果產(chǎn)品背后一流的技術(shù)實(shí)力從細(xì)微處展現(xiàn)出來,幫助那些致力于創(chuàng)新、變革以及追求完美的人們。

作者簡介

  Aaron Hillegass,資深蘋果應(yīng)用開發(fā)工程師、培訓(xùn)講師和技術(shù)作家,在使用Cocoa進(jìn)行開發(fā)方面擁有15年工作經(jīng)驗(yàn),具有非常高的知名度和非常大的影響力。曾就職于NeXT和Apple公司,目前在Big Nerd Ranch主講Cocoa編程,第一套OpenStep(Cocoa的前身)教程便出自他和本書另一位作者之手。他還寫過多本關(guān)于Cocoa、Objective-C、iPhone和iOS方面的圖書。 Adam Preble,Mac和iOS軟件程序開發(fā)顧問、資深蘋果應(yīng)用開發(fā)工程師、培訓(xùn)講師和技術(shù)作家,在使用Cocoa、Objective-C以及C/C++進(jìn)行開發(fā)方面擁有多年工作經(jīng)驗(yàn),尤其在應(yīng)用程序用戶體驗(yàn)方面有獨(dú)到的見解。目前在Big Nerd Ranch開發(fā)Mac和iOS應(yīng)用,也是Cocoa編程的主講教師。

圖書目錄

譯者序
前 言 
致 謝 
第1章 什么是Cocoa 1
1.1 歷史簡介 1
1.2 開發(fā)工具 3
1.3 編程語言 3
1.4 對象、類、方法和消息 4
1.5 框架 4
1.6 如何閱讀本書 5
1.7 約定 5
1.8 常見錯誤 6
1.9 如何學(xué)習(xí) 6
第2章 起步 7
2.1 Xcode 7
2.1.1 新建項(xiàng)目 7
2.1.2 main函數(shù) 10
2.2 Interface Builder 10
2.2.1 utility區(qū) 11
2.2.2 空白窗口 11
2.2.3 頁面布局 12
2.2.4 dock 14
2.2.5 創(chuàng)建一個類 14
2.2.6 創(chuàng)建一個實(shí)例 16
2.2.7 創(chuàng)建連接 16
2.3 回顧Objective-C 18
2.3.1 Objective-C中的類型和常量 19
2.3.2 查看頭文件 19
2.3.3 編輯實(shí)現(xiàn)文件 20
2.3.4 編譯和運(yùn)行 21
2.3.5 awakeFromNib 22
2.4 文檔 23
2.5 你做了什么 24
2.6 應(yīng)用程序運(yùn)行過程 24
第3章 Objective-C 26
3.1 創(chuàng)建和使用實(shí)例 26
3.2 使用已有的類 27
3.2.1 給nil發(fā)送消息 31
3.2.2 NSObject、NSArray、NSMutableArray和NSString 32
3.2.3 組合和繼承 35
3.3 創(chuàng)建自己的類 36
3.3.1 創(chuàng)建LotteryEntry類 36
3.3.2 更改main.m文件 38
3.3.3 實(shí)現(xiàn)Description方法 39
3.3.4 編寫初始化器initializer 41
3.3.5 帶參數(shù)的初始化器 42
3.4 調(diào)試器  43
3.5 你做了什么 47
3.6 靜態(tài)分析器 47
3.7 補(bǔ)充知識:消息機(jī)制工作原理 48
3.8 挑戰(zhàn) 49
第4章 內(nèi)存管理 50
4.1 手動內(nèi)存管理 51
4.1.1 創(chuàng)建沒有內(nèi)存泄漏的彩票程序 52
4.1.2 dealloc函數(shù) 54
4.1.3 自動釋放對象 54
4.1.4 retain計(jì)數(shù)規(guī)則 56
4.2 Accessor方法 57
4.3 使用ARC 60
4.3.1 強(qiáng)引用 60
4.3.2 弱引用 60
4.3.3 ARC補(bǔ)充知識 61
第5章 Target/Action 62
5.1 一些NSControl子類的常見用法 64
5.1.1 NSButton 64
5.1.2 NSSlider 65
5.1.3 NSTextField 65
5.2 開始SpeakLine示例 67
5.3 XIB文件中的布局設(shè)置 68
5.4 實(shí)現(xiàn)SpeakLineAppDelegate類 71
5.5 補(bǔ)充:通過代碼設(shè)置 72
5.6 挑戰(zhàn) 72
5.7 調(diào)試建議 73
第6章 Helper對象 75
6.1 委托 75
6.2 NSTableView及其dataSource 79
6.3 用戶界面布局 81
6.4 建立連接 83
6.5 編輯SpeakLineAppDelegate.m文件 83
6.5.1 在實(shí)現(xiàn)委托時的常見錯誤 85
6.5.2 對象委托 85
6.6 補(bǔ)充知識:委托是怎樣工作的 86
6.7 挑戰(zhàn)1:創(chuàng)建委托 87
6.8 挑戰(zhàn)2:創(chuàng)建一個數(shù)據(jù)源 87
第7章 鍵–值編碼和鍵–值觀察 88
7.1 鍵–值編碼 88
7.2 綁定 89
7.3 鍵–值觀察KVO 91
7.4 使對象的鍵可觀察 91
7.5 Properties 93
7.6 補(bǔ)充知識1:鍵路徑 95
7.7 補(bǔ)充知識2:鍵–值觀察 96
第8章 NSArrayController 97
8.1 從RaiseMan應(yīng)用開始 98
8.2 鍵–值編碼和nil 105
8.3 添加排序功能 106
8.4 補(bǔ)充知識:不使用NSArrayController進(jìn)行排序 107
8.5 挑戰(zhàn)1 107
8.6 挑戰(zhàn)2 107
第9章 NSUndoManager 110
9.1 NSInvocation 110
9.2 NSUndoManager的工作機(jī)制 110
9.3 為RaiseMan添加撤銷功能 112
9.4 鍵–值觀察  115
9.5 撤銷編輯操作 116
9.6 插入后立即編輯 118
9.7 補(bǔ)充知識:窗口和undo管理器 120
第10章 Archiving 121
10.1 NSCoder和NSCoding 122
10.1.1 編碼 122
10.1.2 解碼 123
10.2 文檔架構(gòu) 124
10.2.1 Info.plist和NSDocumentController 124
10.2.2 NSDocument 125
10.2.3 NSWindowController 127
10.3 保存和NSKeyedArchiver 127
10.4 載入和NSKeyedUnarchiver 127
10.5 為文件類型設(shè)置擴(kuò)展名和圖標(biāo) 129
10.6 補(bǔ)充知識1:避免死循環(huán) 131
10.7 補(bǔ)充知識2:創(chuàng)建Protocol  131
10.8 補(bǔ)充知識3:自動保存文檔 132
10.9 補(bǔ)充知識4:沒有undo功能的基于文檔的應(yīng)用程序 133
10.10 統(tǒng)一類型標(biāo)識符 133
第11章 Core Data基本原理 134
11.1 NSManagedObjectModel 134
11.2 Interface 136
11.2.1 基于視圖的表格視圖 137
11.2.2 連接和綁定 140
11.2.3 Core Data 如何工作 145
11.3 補(bǔ)充知識:基于視圖和基于單元格的表格視圖比較 146
11.4 挑戰(zhàn) 147
第12章 NIB文件和NSWindowController 148
12.1 NSPanel 148
12.2 向應(yīng)用程序添加面板 149
12.2.1 設(shè)置菜單項(xiàng) 150
12.2.2 AppController.m 151
12.2.3 Preferences.xib 152
12.2.4 PreferenceController.m 155
12.3 補(bǔ)充知識:NSBundle  157
12.4 挑戰(zhàn) 157
第13章 User Defaults 158
13.1 NSDictionary和NSMutableDictionary 159
13.1.1 NSDictionary 159
13.1.2 NSMutableDictionary 160
13.2 NSUserDefaults 160
13.3 設(shè)置Defaults 161
13.3.1 設(shè)置程序標(biāo)識符 161
13.3.2 為defaults的名字建立鍵 161
13.3.3 注冊defaults 162
13.4 讓用戶編輯Defaults 163
13.5 使用Defaults 164
13.5.1 禁用自動創(chuàng)建未命名新文檔 164
13.5.2 設(shè)置表格視圖的背景色 165
13.6 補(bǔ)充知識1:NSUserDefaultsController 166
13.7 補(bǔ)充知識2:從命令行讀寫Defaults 166
13.8 挑戰(zhàn) 167
第14章 使用Notifications 168
14.1 Notifications 是什么 168
14.2 Notifications不是什么 168
14.3 NSNotification 169
14.4 NSNotificationCenter 169
14.5 發(fā)布notification  171
14.6 注冊成為觀察者 171
14.7 當(dāng)notification到達(dá)時怎么處理 172
14.8 userInfo字典 172
14.9 補(bǔ)充知識:Delegates和 Notifications 173
14.10 挑戰(zhàn) 173
第15章 使用告警窗口 174
15.1 讓用戶確認(rèn)刪除 175
15.2 挑戰(zhàn) 177
第16章 本地化 178
16.1 本地化NIB文件 179
16.2 字符串表 181
16.2.1 創(chuàng)建字符串表 181
16.2.2 使用字符串表 182
16.3 補(bǔ)充知識1:ibtool   183
16.4 補(bǔ)充知識2:格式化字符串中符號的順序 184
第17章 自定義視圖 185
17.1 視圖層次 185
17.2 繪制視圖 186
17.2.1 創(chuàng)建視圖子類的實(shí)例 187
17.2.2 Size Inspector 188
17.2.3 drawRect 189
17.3 使用NSBezierPath 繪圖 191
17.4 NSScrollView 192
17.5 用程序創(chuàng)建視圖 195
17.6 補(bǔ)充知識1:單元格 195
17.7 補(bǔ)充知識2:isFlipped  196
17.8 挑戰(zhàn) 197
第18章 圖片和鼠標(biāo)事件 198
18.1 NSResponder 198
18.2 NSEvent 198
18.3 捕獲鼠標(biāo)事件 199
18.4 使用NSOpenPanel   200
18.4.1 修改XIB文件 201
18.4.2 代碼編輯 203
18.5 在視圖中合成圖片 204
18.6 視圖的坐標(biāo)系統(tǒng) 206
18.7 Autoscrolling 208
18.8 補(bǔ)充知識:NSImage 208
18.9 挑戰(zhàn) 209
第19章 鍵盤事件 210
19.1 NSResponder 211
19.2 NSEvent 212
19.3 使用自定義視圖創(chuàng)建一個新的工程 212
19.3.1 界面布局 212
19.3.2 創(chuàng)建連接 214
19.3.3 編寫代碼 216
19.4 補(bǔ)充知識:Rollovers 219
19.5 毛邊藍(lán)框 220
第20章 繪制帶屬性的文本 222
20.1 NSFont 222
20.2 NSAttributedString 223
20.3 繪制字符串和屬性字符串 225
20.4 顯示字母 225
20.5 讓視圖生成PDF數(shù)據(jù) 226
20.6 補(bǔ)充知識:NSFontManager 228
20.7 挑戰(zhàn)1  229
20.8 挑戰(zhàn)2  229
第21章 粘貼板和Nil-Targeted Actions 230
21.1 NSPasteboard 231
21.2 在BigLetterView 中添加剪切、復(fù)制和粘貼功能 232
21.3 Nil-Targeted Actions 233
21.4 補(bǔ)充知識1:哪個對象發(fā)送了action消息 235
21.5 補(bǔ)充知識2:UTI和剪貼板 236
21.6 補(bǔ)充知識3:延遲復(fù)制技術(shù) 236
21.7 挑戰(zhàn)1  237
21.8 挑戰(zhàn)2  237
第22章 Categories 238
22.1 在NSString 中添加方法 238
22.2 補(bǔ)充知識:聲明私有方法 240
第23章 拖放 241
23.1 設(shè)置BigLetterView 為拖動作的源 241
23.1.1 開始拖操作 242
23.1.2 釋放以后 244
23.2 設(shè)置BigLetterView為拖操作的目的 244
23.2.1 registerForDraggedTypes: 245
23.2.2 添加高亮效果 245
23.2.3 實(shí)現(xiàn)拖操作目的方法 246
23.2.4 添加第二個的BigLetterView 對象 247
23.3 補(bǔ)充知識:Operation Mask  247
第24章 NSTimer 248
24.1 界面布局 250
24.2 建立連接 251
24.3 為TutorController添加代碼 253
24.4 補(bǔ)充知識:NSRunLoop  255
24.5 挑戰(zhàn) 255
第25章 工作表 256
25.1 添加sheet窗口 256
25.1.1 添加outlet和action  257
25.1.2 界面布局 258
25.1.3 添加代碼 261
25.2 補(bǔ)充知識1:contextInfo  261
25.3 補(bǔ)充知識2:模式化窗口 262
第26章 創(chuàng)建NSFormatters 263
26.1 簡單的格式化器類 264
26.1.1 創(chuàng)建ColorFormatter.h 265
26.1.2 編輯XIB文件 265
26.1.3 NSColorList 267
26.1.4 在字符串中搜索子串 267
26.1.5 實(shí)現(xiàn)基本的格式化器方法 267
26.2 NSControl類的Delegate  269
26.3 檢查部分字符串 270
26.4 返回屬性字符串的格式化器 272
26.5 補(bǔ)充知識:NSValueTransformer 272
第27章 打印 273
27.1 處理頁面設(shè)置 273
27.2 補(bǔ)充知識:是在屏幕上繪圖嗎 277
27.3 挑戰(zhàn) 277
第28章 Web Service 278
28.1 RanchForecast項(xiàng)目 279
28.1.1 NSURLConnection 280
28.1.2 在ScheduleFetcher中添加XML解析功能 281
28.1.3 界面布局 284
28.1.4 編寫控制器代碼 285
28.2 打開URL  286
28.3 挑戰(zhàn):添加一個WebView  286
第29章 Blocks 288
29.1 塊語法 290
29.1.1 塊內(nèi)部的內(nèi)存和對象操作 291
29.1.2 塊的可用性 292
29.1.3 RanchForecast: 異步開發(fā) 292
29.1.4 接收異步響應(yīng) 293
29.2 挑戰(zhàn):實(shí)現(xiàn)一個Delegate 296
第30章 iOS開發(fā) 297
30.1 將RanchForecast移植到iOS 297
30.2 RootViewController 299
30.3 添加導(dǎo)航控制器 302
30.4 ScheduleViewController 303
30.5 UITableViewController 304
30.6 視圖控制器切換 305
30.7 挑戰(zhàn) 306
第31章 視圖切換 307
31.1 開始 308
31.1.1 創(chuàng)建管理視圖控制器類 309
31.1.2 創(chuàng)建視圖控制器及其XIB文件 309
31.2 給MyDocument添加視圖切換功能 311
31.3 調(diào)整窗口尺寸 312
第32章 Core Data Relationships 314
32.1 模型編輯 314
32.2 創(chuàng)建自定義NSManagedObject類 315
32.2.1 Employee 316
32.2.2 Department 317
32.3 界面布局 318
32.4 事件及nextResponder 320
第33章 Core Animation 322
33.1 Scattered 322
33.2 隱式動畫及action  327
33.3 挑戰(zhàn)1 329
33.4 挑戰(zhàn)2 329
第34章 并發(fā)性 330
34.1 多線程 330
34.1.1 巨大的分歧 331
34.1.2 簡單的Cocoa后臺線程 332
34.2 Scattered 升級版:Instruments 中的Time Profiling 333
34.3 NSOperationQueue 336
34.3.1 Scattered的多線程解決方案 336
34.3.2 線程的同步處理 338
34.4 補(bǔ)充知識:更快的Scattered 程序 338
34.5 挑戰(zhàn) 339
第35章 Cocoa和OpenGL 340
35.1 一個簡單的Cocoa/OpenGL應(yīng)用程序 340
35.2 界面布局 341
35.3 代碼編寫 344
第36章 NSTask 347
36.1 ZIPspector 347
36.1.1 同步讀取 351
36.1.2 iPing 352
36.2 挑戰(zhàn):.tar和.tgz文件 355
第37章 發(fā)布應(yīng)用 356
37.1 Build Configurations 356
37.2 創(chuàng)建Release版本 358
37.3 應(yīng)用沙箱 360
37.3.1 權(quán)限 360
37.3.2 文件訪問與權(quán)限的折中 361
37.4 蘋果應(yīng)用商店 362
結(jié)束語 364 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號