出版時(shí)間:2008-2 出版社:O'Reilly 作者:James Duncan Davidson,Apple Inc. 頁數(shù):353 譯者:彭艦,張磊,李征,琚生根
Tag標(biāo)簽:無
內(nèi)容概要
本書助您輕松體驗(yàn)Cocoa開發(fā),不僅是閱讀,還有動(dòng)手實(shí)踐。介紹完Xcode和Interface Builder之后,您將很快接觸到Objective-C的面向?qū)ο缶幊谈拍?,它是?chuàng)建Mac OS X應(yīng)用程序的首選語言?! ∶空轮卸继峁┝瞬煌氖纠绦蚬┠鷺?gòu)建,通過循序漸進(jìn)的指導(dǎo)來教給您Cocoa編程的基礎(chǔ)。每章中學(xué)到的技巧都作為基礎(chǔ)鋪墊后面章節(jié)中介紹的更高級的技巧和概念。您將學(xué)到: ·高效地用好蘋果的開發(fā)工具套裝,包括Xcode和Interface Builder ·構(gòu)建單一的和多窗口的基于文檔架構(gòu)的應(yīng)用程序 ·用Cocoa的文本處理能力操作文本數(shù)據(jù) ·用Cocoa來繪圖 ·本地化您的應(yīng)用程序以支持多語言 ·完善您的應(yīng)用程序,添加用于Dock上的圖標(biāo)、提供幫助和打包發(fā)布?! ≡诿空碌慕Y(jié)尾您將看到一些練習(xí),挑戰(zhàn)您改進(jìn)剛創(chuàng)建的應(yīng)用程序,或?yàn)樵缦鹊氖纠鎏硇鹿δ??! ”M管附錄中提供了解決方案,但仍舊鼓勵(lì)您通過自己嘗試來學(xué)習(xí)?! ”緯畛跤商O果公司的內(nèi)部人員編寫,并由James Duncan Davidson修訂成新版,在譯為中文版時(shí)又將內(nèi)容更新至基于Mac OS X 10.5 Leopard版本?! ”緯薈ocoa框架的最新更新,還包括了便利的API速查參考卡,以及在附錄中給出很多重要資源,對任何Cocoa開發(fā)人員無論初學(xué)者還是高手都很重要。
作者簡介
James Duncan Davidson:Duncan是自由撰稿人、演講者以及軟件顧問,他主要專注在Mac OS X、Java和XML技術(shù)。他頻繁地在全世界各種會(huì)議上演講,話題范圍從開源到高效Java開發(fā)。他是Apache Tomcat和Apache Ant的原創(chuàng)作者,并參與促成了Sun Microsystems(太陽微系統(tǒng))公司向
書籍目錄
前言第一部分 Cocoa概述和基礎(chǔ) 第1章 Cocoa介紹 Mac OS X編程環(huán)境 Cocoa定義 Cocoa框架 程序語言 Foundation框架 第2章 Cocoa開發(fā)工具 安裝開發(fā)工具 Interface Builder 其他工具 命令行工具 練習(xí) 第3章 基于Objective-C語言的面向?qū)ο缶幊獭? 認(rèn)識對象 創(chuàng)建和使用對象 Objective-C定義的類型 創(chuàng)建新類 方法覆蓋 其他概念 練習(xí) 第4章 Cocoa Foundation Kit 字符串 集合(Collection) 內(nèi)存管理 練習(xí)第二部分 單一窗口的應(yīng)用程序 第5章 圖形用戶界面 Cocoa的圖形用戶界面 用MVC模式設(shè)計(jì)應(yīng)用程序 創(chuàng)建貨幣轉(zhuǎn)換器工程 創(chuàng)建界面 改變文本框?qū)傩? 定義類 連接模型、控制器和視圖 構(gòu)建并運(yùn)行 練習(xí) 第6章 窗口、視圖和控件 窗口和窗口系統(tǒng) 視圖的層次結(jié)構(gòu) 坐標(biāo)系 控件、控件單元和格式器 練習(xí) 第7章 自定義視圖 自定義視圖的創(chuàng)建步驟 創(chuàng)建自定義視圖 繪制視圖內(nèi)部:幕后工作 在視圖中繪制字符串 在視圖上繪制線條 練習(xí) 第8章 事件處理 事件 Dot View應(yīng)用程序 事件委托 通告 練習(xí) 第9章 模型和數(shù)據(jù)處理功能 協(xié)議 鍵值編碼 表格視圖 表格視圖示例 保存數(shù)據(jù):編碼和歸檔 使用格式器(Formatters) 練習(xí)第三部分 基于文檔的應(yīng)用程序 第10章 多文檔架構(gòu) 架構(gòu)概述 構(gòu)建基于文檔的應(yīng)用程序 練習(xí) 第11章 多信息文本處理 Cocoa的文本系統(tǒng) 創(chuàng)建多信息文本編輯器 實(shí)現(xiàn)字體菜單 文本存儲(chǔ)和有屬性的文本 實(shí)現(xiàn)文本菜單 處理嵌入式圖像 練習(xí)第四部分 其他主題 第12章 打印 打印視圖 使用打印操作 設(shè)置頁邊距 練習(xí) 第13章 文件包和資源 文件包內(nèi)部一瞥 使用文件包 練習(xí) 第14 章本地化 Mac OS X的語言偏好設(shè)置 本地化資源 本地化nib文件 本地化字符串 練習(xí) 第15章 默認(rèn)和偏好設(shè)置 偏好設(shè)置如何工作 使用默認(rèn)值 通過命令行訪問偏好設(shè)置 練習(xí) 第16章 附屬窗口 File’S Owner對象的角色 創(chuàng)建信息窗口 練習(xí) 第17章 完善收尾 收拾界面 設(shè)定圖標(biāo) 添加幫助 定制關(guān)于(About)窗口 調(diào)整編譯器設(shè)置 打包發(fā)布 結(jié)尾 練習(xí)第五部分 附錄 附錄A 練習(xí)解答 附錄B 附加資源 附錄C 使用幫助查閱開發(fā)文檔 詞匯表
章節(jié)摘錄
第一部分 Cocoa概述和基礎(chǔ) 第1章 Cocoa介紹 Cocoa為創(chuàng)建應(yīng)用程序提供了一個(gè)功能豐富的支撐層。它擁有一個(gè)包羅萬象的面向?qū)ο驛PI集,與Mac OS X提供的眾多技術(shù)相輔相成。這些技術(shù)大部分繼承自NeXTSTEP操作系統(tǒng),而另一些則源于Mac OS X的內(nèi)核BSD Unix系統(tǒng)。還有一些技術(shù)源于早期的Macintosh環(huán)境,但已經(jīng)更新升級,能與現(xiàn)代操作系統(tǒng)共同工作。多數(shù)情況下您都能毫無察覺地享用這些底層技術(shù)帶來的優(yōu)勢,而且從本質(zhì)上來說是免費(fèi)而自由地使用。有時(shí)候您可能也要直接使用這些技術(shù),鑒于Cocoa優(yōu)秀的構(gòu)建方式,只需簡單而直接的API調(diào)用即可?! ”菊赂攀隽薓ac OS X的編程環(huán)境和Cocoa在其中的地位。接著您將學(xué)到組成Cocoa API的其中兩個(gè)框架(Framework)——Foundation和Application Kit,當(dāng)然還有它們提供的功能?! ac OS X編程環(huán)境 Mac OS X提供了五個(gè)主要的應(yīng)用程序環(huán)境: Carbon 它是一組工作在Mac OS X上的面向過程的API。這些接口最初繼承自早期的Mac OS Toolbox API集合,經(jīng)過修改后,使其適合Mac OS X的保護(hù)內(nèi)存環(huán)境和搶占式任務(wù)調(diào)度。作為一套過渡性API,Carbon為開發(fā)人員提供了一條明確的途徑:無需完全重寫編碼,就能將早先遺留的應(yīng)用程序到移植Mac OS X上。比如AdobePhotoshop CS2和Microsoft Office 2004都是Carbon應(yīng)用程序。如果你想了解更多關(guān)于Carbon的知識,請查看Xcode幫助中的開發(fā)文檔或者參閱《LearningCarbon》(OReilly出版)。 Cocoa它是一組面向?qū)ο蟮腁PI,這些API源于NeXT操作系統(tǒng)的技術(shù),而這些技術(shù)又利用了Carbon的很多特性。使用Cocoa APl進(jìn)行編程正是本書的重點(diǎn)。很多Mac OS X中內(nèi)建的應(yīng)用程序,如Mail和Safari都是使用Cocoa編寫的。此外,很多蘋果機(jī)上的最新應(yīng)用程序,例如iLife套件,iChat及Photo Booth,也都使用了Cocoa。 Java它是一個(gè)健壯而快捷的虛擬機(jī)環(huán)境,用于運(yùn)行使用Java開發(fā)工具包(JDK)開發(fā)的應(yīng)用程序。Java應(yīng)用程序通常具有跨平臺(tái)特性,無需修改和重新編譯,就能在多種計(jì)算環(huán)境中運(yùn)行?! SD UnixMac OS X的BSD層提供了豐富、健壯、成熟的工具集和系統(tǒng)調(diào)用。標(biāo)準(zhǔn)的BSD工具,實(shí)用工具,API及函數(shù)都可用于應(yīng)用程序。命令行環(huán)境就是這層的一部分?! lassic 它是一種兼容環(huán)境,用于支持系統(tǒng)運(yùn)行早先的Mac OS X或Mac OS 9下的應(yīng)用程序,這些程序沒有后續(xù)更新,不能很好地發(fā)揮Mac OS X的優(yōu)勢。Classic從本質(zhì)上講是Mac OS 9的改進(jìn)版本,它運(yùn)行在一個(gè)與操作系統(tǒng)其他部分存在特殊鉤子操作(hook)的進(jìn)程當(dāng)中。隨著時(shí)間的推移,越來越多的應(yīng)用程序已移植到Mac OS X上運(yùn)行,使得Classic變得不那么重要,從Mac OS X 10.5開始,蘋果公司已正式廢棄了Classic環(huán)境,不在Mac OS X中提供?! ∷羞@些應(yīng)用程序環(huán)境都在一定程度上依賴于操作系統(tǒng)的其他部分。圖1.1給出了簡要的層次圖示,描繪了Mac OS X應(yīng)用程序的環(huán)境,以及它們與操作系統(tǒng)其他主要部分的關(guān)系。如圖1-1所示,Mac OS X的應(yīng)用程序環(huán)境均依賴于操作系統(tǒng)底層所提供的功能。這些功能大體上可分為兩個(gè)主要部分:一個(gè)是Core Foundation,它向Cocoa,Carbon,Java框架提供了一套通用的應(yīng)用集和核心服務(wù);另一個(gè)是內(nèi)核環(huán)境(kernel environment),它是操作系統(tǒng)底層基于Unix的核心?! ocoa定義 Cocoa是一個(gè)先進(jìn)的面向?qū)ο罂蚣埽饕糜跇?gòu)建運(yùn)行在蘋果Mac OS X上的應(yīng)用程序。它把共享對象庫,運(yùn)行環(huán)境系統(tǒng)及開發(fā)環(huán)境完整地整合在了一起。Cocoa提供的基礎(chǔ)體系滿足大部分圖形界面應(yīng)用程序的典型需要,并將應(yīng)用程序與操作系統(tǒng)內(nèi)部的工作互相隔離?! 】梢园袰ocoa理解為一個(gè)對象層,它充當(dāng)程序與操作系統(tǒng)之間的媒介與協(xié)調(diào)人的角色。這些對象覆蓋了從基本類型的簡單封裝,如字符串和數(shù)組,到復(fù)雜的功能,如分布式計(jì)算和高級影像處理。它們被設(shè)計(jì)于一個(gè)復(fù)雜而精巧的體系之上,以簡化編程工作,輕松創(chuàng)建圖形界面的應(yīng)用程序。 基于Cocoa的應(yīng)用程序并不僅局限于使用Cocoa框架中的特性。它們也能使用Mac OS X中的其他框架的全部功能,例如Quartz、QuickTime、OpenGL、ColorSync等等。由于Mac OS X是建立在一個(gè)基于BSD的堅(jiān)固系統(tǒng)Darwin之上,Cocoa應(yīng)用程序可使用Unix系統(tǒng)的所有核心功能,并按程序需要使用底層的文件系統(tǒng)、網(wǎng)絡(luò)服務(wù)和設(shè)備?! ocoa的歷史 Cocoa其實(shí)已存在很長時(shí)間,幾乎與Macintosh一樣久遠(yuǎn)。它很大程度上基于OpenStep,于1987年與典雅的NeXT cube電腦一起以NeXTSTEP的名字公布于世。當(dāng)時(shí)NeXTSTEP的目標(biāo)正如只有Steve Jobs才敢宣稱的“創(chuàng)造下一個(gè)瘋狂而偉大的事物”。它的發(fā)展經(jīng)歷很多版本,被眾多公司采納作為開發(fā)和部署環(huán)境,并被廣泛報(bào)道,十分火熱。它基于領(lǐng)先當(dāng)時(shí)世面上任何產(chǎn)品很多年的設(shè)計(jì),成為一種強(qiáng)悍的技術(shù)延續(xù)至今。NeXTSTEP建立在由加州大學(xué)伯克利分校(UC Berkeley)開發(fā)的BSD Unix和卡內(nèi)基梅隆大學(xué)(Carnegie-Mellon University)開發(fā)的Mach微內(nèi)核基礎(chǔ)之上。它利用了Adobe公司開發(fā)的Display PostScript技術(shù)(允許使用與PostScript頁面描述語言相同的代碼)來實(shí)現(xiàn)在屏幕上顯示文檔和輸出打印文檔。NeXTSTEP包含一組被稱為“框架”(Framework)的庫,還有一些工具,使開發(fā)人員能夠用Objective-C語言構(gòu)建應(yīng)用程序。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載