出版時(shí)間:2012-9-1 出版社:機(jī)械工業(yè)出版社華章公司 作者:Aaron Hillegass,Adam Preble 頁(yè)數(shù):365 譯者:黃敏,郝剛
Tag標(biāo)簽:無(wú)
前言
前言如果你正在開(kāi)發(fā)或者希望進(jìn)行Mac應(yīng)用開(kāi)發(fā),那么這本書(shū)就是你所需要的。本書(shū)是否涵蓋了所有Mac應(yīng)用編程的相關(guān)知識(shí)?當(dāng)然不是,不過(guò)本書(shū)涉及了Mac開(kāi)發(fā)接近80%的內(nèi)容。讀者可以在Apple公司的在線(xiàn)文檔中找到剩余的20%,而這20%正是獨(dú)屬于你的。本書(shū)展示了應(yīng)用開(kāi)發(fā)的基礎(chǔ),包含了Objective-C語(yǔ)言和Cocoa的主要設(shè)計(jì)模式。讀者還可以熟悉最常用的兩個(gè)開(kāi)發(fā)工具:Xcode和Instruments。閱讀完本書(shū)之后,讀者就可以理解并使用Apple公司的在線(xiàn)文檔了。本書(shū)包含很多代碼。通過(guò)這些代碼,筆者將向讀者講解Cocoa社區(qū)的一些慣用法。希望通過(guò)實(shí)踐這些示例代碼,讀者不僅能夠成為一名Cocoa開(kāi)發(fā)人員,而且還能夠成為一名優(yōu)秀的Cocoa開(kāi)發(fā)人員。第4版涉及在MacOSX10.6和10.7中引入的一些技術(shù),包括Xcode4、ARC(AutomaticReferenceCounting,自動(dòng)內(nèi)存管理技術(shù))、blocks、view-basedtableviews和Mac應(yīng)用商店。本書(shū)專(zhuān)門(mén)安排一章用于講述iOS的基本開(kāi)發(fā)。本書(shū)適合已經(jīng)具備一些C語(yǔ)言基礎(chǔ)且了解一些面向?qū)ο笾R(shí)的開(kāi)發(fā)人員。假如讀者并不知道C語(yǔ)言或面向?qū)ο蟮母拍?,那么讀者首先應(yīng)該學(xué)習(xí)《Objective-CProgramming:TheBigNerdRanchguide》。讀者并不需要具備Mac編程經(jīng)驗(yàn)。這是一本實(shí)戰(zhàn)類(lèi)的圖書(shū),因此讀者需要安裝MacOSX系統(tǒng)和開(kāi)發(fā)工具。Xcode4.2、Apple的IDE都可免費(fèi)下載、安裝。如果讀者是Mac的付費(fèi)會(huì)員,或者隸屬iOS開(kāi)發(fā)者聯(lián)盟,也可以從Apple公司的開(kāi)發(fā)者網(wǎng)站下載Xcode(http://developer.apple.com/)。開(kāi)發(fā)者注冊(cè)成為上述成員,可將自己的應(yīng)用程序提交到Apple公司的Mac應(yīng)用商店或iOS應(yīng)用商店。筆者將盡可能地讓本書(shū)更加實(shí)用。Aaron HillegassAdam Preble
內(nèi)容概要
本書(shū)是在Aaron多年教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上進(jìn)行了總結(jié)提煉的精華之作,加之前面3版不斷推敲和完善,已經(jīng)成為學(xué)習(xí)Cocoa編程的入門(mén)級(jí)經(jīng)典書(shū)籍。本書(shū)系統(tǒng)介紹了Objective-C語(yǔ)言、Cocoa主要的設(shè)計(jì)模式、必要的開(kāi)發(fā)工具Xcode和Instruments等,同時(shí)新引入了ARC、blocks、view-based
table
views和Mac應(yīng)用商店,并專(zhuān)門(mén)開(kāi)辟一章用于介紹在iOS上的基礎(chǔ)開(kāi)發(fā)。相比于之前的版本,本書(shū)在Cocoa框架新特性、新技術(shù)的基礎(chǔ)上,更加側(cè)重實(shí)戰(zhàn),也更加結(jié)合應(yīng)用發(fā)展的最新趨勢(shì)。全書(shū)以具體的實(shí)例貫穿,引導(dǎo)讀者通過(guò)實(shí)踐學(xué)習(xí)Cocoa框架的基本思想。在本書(shū)中,讀者不僅能夠看到技術(shù)細(xì)節(jié),更能看到不斷剖析、層層遞進(jìn)的解決問(wèn)題的思路,甚至可以看到如何查找資料、獲取幫助的方法,幫助讀者建立規(guī)范、科學(xué)的設(shè)計(jì)開(kāi)發(fā)習(xí)慣。閱讀本書(shū)不要求讀者擁有任何的Mac編程經(jīng)驗(yàn),只需要了解基本的C語(yǔ)言,以及面向?qū)ο蟮闹R(shí)即可。相信本書(shū)能夠推動(dòng)蘋(píng)果中文社區(qū)的進(jìn)一步發(fā)展、壯大,也希望能夠?qū)bjective-C和Cocoa框架以及蘋(píng)果產(chǎn)品背后一流的技術(shù)實(shí)力從細(xì)微處展現(xiàn)出來(lái),幫助那些致力于創(chuàng)新、變革以及追求完美的人們。
作者簡(jiǎn)介
Aaron
Hillegass,資深蘋(píng)果應(yīng)用開(kāi)發(fā)工程師、培訓(xùn)講師和技術(shù)作家,在使用Cocoa進(jìn)行開(kāi)發(fā)方面擁有15年工作經(jīng)驗(yàn),具有非常高的知名度和非常大的影響力。曾就職于NeXT和Apple公司,目前在Big
Nerd
Ranch主講Cocoa編程,第一套OpenStep(Cocoa的前身)教程便出自他和本書(shū)另一位作者之手。他還寫(xiě)過(guò)多本關(guān)于Cocoa、Objective-C、iPhone和iOS方面的圖書(shū)。
Adam
Preble,Mac和iOS軟件程序開(kāi)發(fā)顧問(wèn)、資深蘋(píng)果應(yīng)用開(kāi)發(fā)工程師、培訓(xùn)講師和技術(shù)作家,在使用Cocoa、Objective-C以及C/C++進(jìn)行開(kāi)發(fā)方面擁有多年工作經(jīng)驗(yàn),尤其在應(yīng)用程序用戶(hù)體驗(yàn)方面有獨(dú)到的見(jiàn)解。目前在Big
Nerd Ranch開(kāi)發(fā)Mac和iOS應(yīng)用,也是Cocoa編程的主講教師。
書(shū)籍目錄
譯者序
前 言
致 謝
第1章 什么是Cocoa
1.1 歷史簡(jiǎn)介
1.2 開(kāi)發(fā)工具
1.3 編程語(yǔ)言
1.4 對(duì)象、類(lèi)、方法和消息
1.5 框架
1.6 如何閱讀本書(shū)
1.7 約定
1.8 常見(jiàn)錯(cuò)誤
1.9 如何學(xué)習(xí)
第2章 起步
2.1 Xcode
2.1.1 新建項(xiàng)目
2.1.2 main函數(shù)
2.2 Interface Builder
2.2.1 utility區(qū)
2.2.2 空白窗口
2.2.3 頁(yè)面布局
2.2.4 dock
2.2.5 創(chuàng)建一個(gè)類(lèi)
2.2.6 創(chuàng)建一個(gè)實(shí)例
2.2.7 創(chuàng)建連接
2.3 回顧Objective-C
2.3.1 Objective-C中的類(lèi)型和常量
2.3.2 查看頭文件
2.3.3 編輯實(shí)現(xiàn)文件
2.3.4 編譯和運(yùn)行
2.3.5 awakeFromNib
2.4 文檔
2.5 你做了什么
2.6 應(yīng)用程序運(yùn)行過(guò)程
第3章 Objective-C
3.1 創(chuàng)建和使用實(shí)例
3.2 使用已有的類(lèi)
3.2.1 給nil發(fā)送消息
3.2.2 NSObject、NSArray、NSMutableArray和NSString
3.2.3 組合和繼承
3.3 創(chuàng)建自己的類(lèi)
3.3.1 創(chuàng)建LotteryEntry類(lèi)
3.3.2 更改main.m文件
3.3.3 實(shí)現(xiàn)Description方法
3.3.4 編寫(xiě)初始化器initializer
3.3.5 帶參數(shù)的初始化器
3.4 調(diào)試器
3.5 你做了什么
3.6 靜態(tài)分析器
3.7 補(bǔ)充知識(shí):消息機(jī)制工作原理
3.8 挑戰(zhàn)
第4章 內(nèi)存管理
4.1 手動(dòng)內(nèi)存管理
4.1.1 創(chuàng)建沒(méi)有內(nèi)存泄漏的彩票程序
4.1.2 dealloc函數(shù)
4.1.3 自動(dòng)釋放對(duì)象
4.1.4 retain計(jì)數(shù)規(guī)則
4.2 Accessor方法
4.3 使用ARC
4.3.1 強(qiáng)引用
4.3.2 弱引用
4.3.3 ARC補(bǔ)充知識(shí)
第5章 Target/Action
5.1 一些NSControl子類(lèi)的常見(jiàn)用法
5.1.1 NSButton
5.1.2 NSSlider
5.1.3 NSTextField
5.2 開(kāi)始SpeakLine示例
5.3 XIB文件中的布局設(shè)置
5.4 實(shí)現(xiàn)SpeakLineAppDelegate類(lèi)
5.5 補(bǔ)充:通過(guò)代碼設(shè)置
5.6 挑戰(zhàn)
5.7 調(diào)試建議
第6章 Helper對(duì)象
6.1 委托
6.2 NSTableView及其dataSource
6.3 用戶(hù)界面布局
6.4 建立連接
6.5 編輯SpeakLineAppDelegate.m文件
6.5.1 在實(shí)現(xiàn)委托時(shí)的常見(jiàn)錯(cuò)誤
6.5.2 對(duì)象委托
6.6 補(bǔ)充知識(shí):委托是怎樣工作的
6.7 挑戰(zhàn)1:創(chuàng)建委托
6.8 挑戰(zhàn)2:創(chuàng)建一個(gè)數(shù)據(jù)源
第7章 鍵-值編碼和鍵-值觀察
7.1 鍵-值編碼
7.2 綁定
7.3 鍵-值觀察KVO
7.4 使對(duì)象的鍵可觀察
7.5 Properties
7.6 補(bǔ)充知識(shí)1:鍵路徑
7.7 補(bǔ)充知識(shí)2:鍵-值觀察
第8章 NSArrayController
8.1 從RaiseMan應(yīng)用開(kāi)始
8.2 鍵-值編碼和nil
8.3 添加排序功能
8.4 補(bǔ)充知識(shí):不使用NSArrayController進(jìn)行排序
8.5 挑戰(zhàn)1
8.6 挑戰(zhàn)2
第9章 NSUndoManager
9.1 NSInvocation
9.2 NSUndoManager的工作機(jī)制
9.3 為RaiseMan添加撤銷(xiāo)功能
9.4 鍵-值觀察
9.5 撤銷(xiāo)編輯操作
9.6 插入后立即編輯
9.7 補(bǔ)充知識(shí):窗口和undo管理器
第10章 Archiving
10.1 NSCoder和NSCoding
10.1.1 編碼
10.1.2 解碼
10.2 文檔架構(gòu)
10.2.1 Info.plist和NSDocumentController
10.2.2 NSDocument
10.2.3 NSWindowController
10.3 保存和NSKeyedArchiver
10.4 載入和NSKeyedUnarchiver
10.5 為文件類(lèi)型設(shè)置擴(kuò)展名和圖標(biāo)
10.6 補(bǔ)充知識(shí)1:避免死循環(huán)
10.7 補(bǔ)充知識(shí)2:創(chuàng)建Protocol
10.8 補(bǔ)充知識(shí)3:自動(dòng)保存文檔
10.9 補(bǔ)充知識(shí)4:沒(méi)有undo功能的基于文檔的應(yīng)用程序
10.10 統(tǒng)一類(lèi)型標(biāo)識(shí)符
第11章 Core Data基本原理
11.1 NSManagedObjectModel
11.2 Interface
11.2.1 基于視圖的表格視圖
11.2.2 連接和綁定
11.2.3 Core Data 如何工作
11.3 補(bǔ)充知識(shí):基于視圖和基于單元格的表格視圖比較
11.4 挑戰(zhàn)
第12章 NIB文件和NSWindowController
12.1 NSPanel
12.2 向應(yīng)用程序添加面板
12.2.1 設(shè)置菜單項(xiàng)
12.2.2 AppController.m
12.2.3 Preferences.xib
12.2.4 PreferenceController.m
12.3 補(bǔ)充知識(shí):NSBundle
12.4 挑戰(zhàn)
第13章 User Defaults
13.1 NSDictionary和NSMutableDictionary
13.1.1 NSDictionary
13.1.2 NSMutableDictionary
13.2 NSUserDefaults
13.3 設(shè)置Defaults
13.3.1 設(shè)置程序標(biāo)識(shí)符
13.3.2 為defaults的名字建立鍵
13.3.3 注冊(cè)defaults
13.4 讓用戶(hù)編輯Defaults
13.5 使用Defaults
13.5.1 禁用自動(dòng)創(chuàng)建未命名新文檔
13.5.2 設(shè)置表格視圖的背景色
13.6 補(bǔ)充知識(shí)1:NSUserDefaultsController
13.7 補(bǔ)充知識(shí)2:從命令行讀寫(xiě)Defaults
13.8 挑戰(zhàn)
第14章 使用Notifications
14.1 Notifications 是什么
14.2 Notifications不是什么
14.3 NSNotification
14.4 NSNotificationCenter
14.5 發(fā)布notification
14.6 注冊(cè)成為觀察者
14.7 當(dāng)notification到達(dá)時(shí)怎么處理
14.8 userInfo字典
14.9 補(bǔ)充知識(shí):Delegates和 Notifications
14.10 挑戰(zhàn)
第15章 使用告警窗口
15.1 讓用戶(hù)確認(rèn)刪除
15.2 挑戰(zhàn)
第16章 本地化
16.1 本地化NIB文件
16.2 字符串表
16.2.1 創(chuàng)建字符串表
16.2.2 使用字符串表
16.3 補(bǔ)充知識(shí)1:ibtool
16.4 補(bǔ)充知識(shí)2:格式化字符串中符號(hào)的順序
第17章 自定義視圖
17.1 視圖層次
17.2 繪制視圖
17.2.1 創(chuàng)建視圖子類(lèi)的實(shí)例
17.2.2 Size Inspector
17.2.3 drawRect
17.3 使用NSBezierPath 繪圖
17.4 NSScrollView
17.5 用程序創(chuàng)建視圖
17.6 補(bǔ)充知識(shí)1:?jiǎn)卧?br />17.7 補(bǔ)充知識(shí)2:isFlipped
17.8 挑戰(zhàn)
第18章 圖片和鼠標(biāo)事件
18.1 NSResponder
18.2 NSEvent
18.3 捕獲鼠標(biāo)事件
18.4 使用NSOpenPanel
18.4.1 修改XIB文件
18.4.2 代碼編輯
18.5 在視圖中合成圖片
18.6 視圖的坐標(biāo)系統(tǒng)
18.7 Autoscrolling
18.8 補(bǔ)充知識(shí):NSImage
18.9 挑戰(zhàn)
第19章 鍵盤(pán)事件
19.1 NSResponder
19.2 NSEvent
19.3 使用自定義視圖創(chuàng)建一個(gè)新的工程
19.3.1 界面布局
19.3.2 創(chuàng)建連接
19.3.3 編寫(xiě)代碼
19.4 補(bǔ)充知識(shí):Rollovers
19.5 毛邊藍(lán)框
第20章 繪制帶屬性的文本
20.1 NSFont
20.2 NSAttributedString
20.3 繪制字符串和屬性字符串
20.4 顯示字母
20.5 讓視圖生成PDF數(shù)據(jù)
20.6 補(bǔ)充知識(shí):NSFontManager
20.7 挑戰(zhàn)1
20.8 挑戰(zhàn)2
第21章 粘貼板和Nil-Targeted Actions
21.1 NSPasteboard
21.2 在BigLetterView 中添加剪切、復(fù)制和粘貼功能
21.3 Nil-Targeted Actions
21.4 補(bǔ)充知識(shí)1:哪個(gè)對(duì)象發(fā)送了action消息
21.5 補(bǔ)充知識(shí)2:UTI和剪貼板
21.6 補(bǔ)充知識(shí)3:延遲復(fù)制技術(shù)
21.7 挑戰(zhàn)1
21.8 挑戰(zhàn)2
第22章 Categories
22.1 在NSString 中添加方法
22.2 補(bǔ)充知識(shí):聲明私有方法
第23章 拖放
23.1 設(shè)置BigLetterView 為拖動(dòng)作的源
23.1.1 開(kāi)始拖操作
23.1.2 釋放以后
23.2 設(shè)置BigLetterView為拖操作的目的
23.2.1 registerForDraggedTypes:
23.2.2 添加高亮效果
23.2.3 實(shí)現(xiàn)拖操作目的方法
23.2.4 添加第二個(gè)的BigLetterView 對(duì)象
23.3 補(bǔ)充知識(shí):Operation Mask
第24章 NSTimer
24.1 界面布局
24.2 建立連接
24.3 為T(mén)utorController添加代碼
24.4 補(bǔ)充知識(shí):NSRunLoop
24.5 挑戰(zhàn)
第25章 工作表
25.1 添加sheet窗口
25.1.1 添加outlet和action
25.1.2 界面布局
25.1.3 添加代碼
25.2 補(bǔ)充知識(shí)1:contextInfo
25.3 補(bǔ)充知識(shí)2:模式化窗口
第26章 創(chuàng)建NSFormatters
26.1 簡(jiǎn)單的格式化器類(lèi)
26.1.1 創(chuàng)建ColorFormatter.h
26.1.2 編輯XIB文件
26.1.3 NSColorList
26.1.4 在字符串中搜索子串
26.1.5 實(shí)現(xiàn)基本的格式化器方法
26.2 NSControl類(lèi)的Delegate
26.3 檢查部分字符串
26.4 返回屬性字符串的格式化器
26.5 補(bǔ)充知識(shí):NSValueTransformer
第27章 打印
27.1 處理頁(yè)面設(shè)置
27.2 補(bǔ)充知識(shí):是在屏幕上繪圖嗎
27.3 挑戰(zhàn)
第28章 Web Service
28.1 RanchForecast項(xiàng)目
28.1.1 NSURLConnection
28.1.2 在ScheduleFetcher中添加X(jué)ML解析功能
28.1.3 界面布局
28.1.4 編寫(xiě)控制器代碼
28.2 打開(kāi)URL
28.3 挑戰(zhàn):添加一個(gè)WebView
第29章 Blocks
29.1 塊語(yǔ)法
29.1.1 塊內(nèi)部的內(nèi)存和對(duì)象操作
29.1.2 塊的可用性
29.1.3 RanchForecast: 異步開(kāi)發(fā)
29.1.4 接收異步響應(yīng)
29.2 挑戰(zhàn):實(shí)現(xiàn)一個(gè)Delegate
第30章 iOS開(kāi)發(fā)
30.1 將RanchForecast移植到iOS
30.2 RootViewController
30.3 添加導(dǎo)航控制器
30.4 ScheduleViewController
30.5 UITableViewController
30.6 視圖控制器切換
30.7 挑戰(zhàn)
第31章 視圖切換
31.1 開(kāi)始
31.1.1 創(chuàng)建管理視圖控制器類(lèi)
31.1.2 創(chuàng)建視圖控制器及其XIB文件
31.2 給MyDocument添加視圖切換功能
31.3 調(diào)整窗口尺寸
第32章 Core Data Relationships
32.1 模型編輯
32.2 創(chuàng)建自定義NSManagedObject類(lèi)
32.2.1 Employee
32.2.2 Department
32.3 界面布局
32.4 事件及nextResponder
第33章 Core Animation
33.1 Scattered
33.2 隱式動(dòng)畫(huà)及action
33.3 挑戰(zhàn)1
33.4 挑戰(zhàn)2
第34章 并發(fā)性
34.1 多線(xiàn)程
34.1.1 巨大的分歧
34.1.2 簡(jiǎn)單的Cocoa后臺(tái)線(xiàn)程
34.2 Scattered 升級(jí)版:Instruments 中的Time Profiling
34.3 NSOperationQueue
34.3.1 Scattered的多線(xiàn)程解決方案
34.3.2 線(xiàn)程的同步處理
34.4 補(bǔ)充知識(shí):更快的Scattered 程序
34.5 挑戰(zhàn)
第35章 Cocoa和OpenGL
35.1 一個(gè)簡(jiǎn)單的Cocoa/OpenGL應(yīng)用程序
35.2 界面布局
35.3 代碼編寫(xiě)
第36章 NSTask
36.1 ZIPspector
36.1.1 同步讀取
36.1.2 iPing
36.2 挑戰(zhàn):.tar和.tgz文件
第37章 發(fā)布應(yīng)用
37.1 Build Configurations
37.2 創(chuàng)建Release版本
37.3 應(yīng)用沙箱
37.3.1 權(quán)限
37.3.2 文件訪問(wèn)與權(quán)限的折中
37.4 蘋(píng)果應(yīng)用商店
結(jié)束語(yǔ)
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 相較于復(fù)雜的NSOperation對(duì)象創(chuàng)建方式,這里使用了NSOperationQueue的addOperationWittBlock:,來(lái)創(chuàng)建NSBlockOperation對(duì)象,并將其添加到隊(duì)列中。請(qǐng)注意,這里代碼更改還是比較少的,程序最主要的流程也沒(méi)有進(jìn)行改變。一般情況下并不這樣進(jìn)行多線(xiàn)程的處理,但是可以看到,通過(guò)對(duì)域內(nèi)變量的引用,鎖定機(jī)制幫助開(kāi)發(fā)者避免了很多復(fù)雜代碼。 34.3.2線(xiàn)程的同步處理 在這個(gè)例子中還不需要擔(dān)心race conditions,其原因在于,程序設(shè)計(jì)時(shí)就避免了與后臺(tái)線(xiàn)程進(jìn)行數(shù)據(jù)結(jié)構(gòu)共享。后臺(tái)線(xiàn)程的工作只是進(jìn)行文件夾計(jì)數(shù)、打開(kāi)圖片以及創(chuàng)建thumbnails等。這個(gè)例子中唯一的共享數(shù)據(jù)就是Core Animation layers,但它也只是由mian線(xiàn)程進(jìn)行了修改而已。避免了race conditions,多線(xiàn)程看起來(lái)就太簡(jiǎn)單了。 并不是所有的多線(xiàn)程都可以通過(guò)這種方法來(lái)解決,很多時(shí)候需要保護(hù)代碼塊(或者多個(gè)代碼塊),以確保某個(gè)時(shí)間點(diǎn)上只有一個(gè)線(xiàn)程能運(yùn)行。這通常通過(guò)互斥鎖(互相排斥的鎖定)來(lái)完成。Objective—C提供了一個(gè)簡(jiǎn)單的方法來(lái)部署互斥鎖——@synchronized指令。 @synchronized指令使用了互斥鎖,這與傳值對(duì)象不同。在這個(gè)例子中,我們鎖定images對(duì)象,就是一個(gè)NSMutableArray實(shí)例。由于NSMutableArray對(duì)象并不是thread—safe(就是說(shuō)該對(duì)象并不是用于多線(xiàn)程操作的),因此,在多線(xiàn)程環(huán)境中進(jìn)行操作時(shí)推薦使用互斥鎖。使用@synchronized指令可以保證:當(dāng)所有的@synchronized指令在一個(gè)確定的對(duì)象上操作時(shí),只有一個(gè)線(xiàn)程在某個(gè)時(shí)間點(diǎn)上可以執(zhí)行封裝的代碼塊。因此,如果有兩個(gè)線(xiàn)程同時(shí)都要調(diào)用addlmage:方法,第一個(gè)線(xiàn)程將獲得鎖,可以進(jìn)行圖片對(duì)象的添加;而第二個(gè)線(xiàn)程將被鎖住,直到這個(gè)鎖被釋放。 讀者可能對(duì)為什么NSMutableArray不是thread-safe感到困惑。一個(gè)原因是互斥鎖與它有負(fù)載關(guān)聯(lián),線(xiàn)程的安全性使得NSMutableArrays對(duì)象的性能明顯下降;另一個(gè)原因就是,通常情況下鎖定某個(gè)代碼塊比進(jìn)行一個(gè)單獨(dú)的線(xiàn)程調(diào)用,更有用、也更普遍一些,這樣看起來(lái)好像是將對(duì)象從一個(gè)數(shù)據(jù)結(jié)構(gòu)移動(dòng)到另一個(gè)數(shù)據(jù)結(jié)構(gòu)。 Cocoa提供了一系列的工具用于線(xiàn)程同步,如NSLock和NSCondition。對(duì)于這些工具,可以看看NSOperationQueue中的相關(guān)資料,Grand Central Dispatch在《Advanced MacOS XProgramming》中也進(jìn)行了詳盡的討論。
媒體關(guān)注與評(píng)論
Aaron的這本書(shū)是Mac OS X編程圖書(shū)領(lǐng)域的標(biāo)桿——措辭優(yōu)雅、精雕細(xì)琢,是開(kāi)發(fā)蘋(píng)果應(yīng)用的優(yōu)秀圖書(shū)。—— Scott Stevenson經(jīng)過(guò)幾個(gè)版次的市場(chǎng)檢驗(yàn),本書(shū)已經(jīng)被公認(rèn)為從零開(kāi)始學(xué)習(xí)Cocoa編程的首選。Aaron是少數(shù)(很可能是唯一)全職的專(zhuān)業(yè)Cocoa講師之一,他多年的教學(xué)經(jīng)驗(yàn)都濃縮于本書(shū)中。—— Tim Burks,資深軟件工程師/Nu編程語(yǔ)言創(chuàng)始人如果你是工作在UNIX或Windows平臺(tái)上的程序員,希望為Mac OS X開(kāi)發(fā)一些新應(yīng)用,或者想將應(yīng)用移植到Mac上,那么這本書(shū)是必備的參考書(shū)和培訓(xùn)資料。—— Kevin H. Spencer,Apple認(rèn)證技術(shù)協(xié)調(diào)員
編輯推薦
《華章程序員書(shū)庫(kù):蘋(píng)果開(kāi)發(fā)之Cocoa編程(原書(shū)第4版)》編輯推薦:經(jīng)典暢銷(xiāo)書(shū)全新升級(jí),全面且深入地講解了Cocoa編程的各項(xiàng)知識(shí),被譽(yù)為Mac OS X編程圖書(shū)領(lǐng)域的標(biāo)桿,是從零開(kāi)始系統(tǒng)學(xué)習(xí)Cocoa編程的首選!
名人推薦
Aaron的這本書(shū)是Mac OS X編程圖書(shū)領(lǐng)域的標(biāo)桿——措辭優(yōu)雅、精雕細(xì)琢,是開(kāi)發(fā)蘋(píng)果應(yīng)用的優(yōu)秀圖書(shū)?!猄cott Stevenson,the ocacao網(wǎng)經(jīng)過(guò)幾個(gè)版次的市場(chǎng)檢驗(yàn),本書(shū)已經(jīng)被公認(rèn)為從零開(kāi)始學(xué)習(xí)Cocoa編程的首選。Aaron是少數(shù)(很可能是唯一)全職的專(zhuān)業(yè)Cocoa講師之一,他多年的教學(xué)經(jīng)驗(yàn)都濃縮于本書(shū)中?!猅im Burks,資深軟件工程師/Nu編程語(yǔ)言創(chuàng)始人如果你是工作在UNIX或Windows平臺(tái)上的程序員,希望為Mac OS X開(kāi)發(fā)一些新應(yīng)用,或者想將應(yīng)用移植到Mac上,那么這本書(shū)是必備的參考書(shū)和培訓(xùn)資料?!狵evin H. Spencer,Apple認(rèn)證技術(shù)協(xié)調(diào)員
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
蘋(píng)果開(kāi)發(fā)之Cocoa編程 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版