好學(xué)的Objective-C

出版時間:2012-3  出版社:人民郵電出版社  作者:Jiva DeVoe  譯者:林本杰  
Tag標(biāo)簽:無  

前言

  序言  Objetive-C在IT行業(yè)可謂受到了不公平的對待。盡管它很強(qiáng)大,并且是動態(tài)的面向?qū)ο笳Z言,但卻沒有像C++、Java等語言一樣得到足夠認(rèn)可?! ≡跒閕Phone OS 3寫Cocoa Touch時,我意識到了需要寫一本配套的書,以幫助新手們在接觸Cocoa和Cocoa Touch等高層框架之前克服學(xué)習(xí)Objective-C的障礙?! ∷援?dāng)有人請我寫一本專門介紹Objective-C語言的書時,我欣然接受了。  最后,我感覺到可以通過這本書向Mac、iPhone和iPad開發(fā)新手們介紹基礎(chǔ)知識,因此萬分激動。我期待這本書可以催化Objective-C在更多不同平臺上發(fā)展。Objective-C完全有理由在Unix、Windows等平臺上使用。  讀者只需具備有限的計算機(jī)知識。我會從最基礎(chǔ)的知識開始闡述,但是你至少需要懂得一些操作計算機(jī)的基礎(chǔ)知識。  如果你已經(jīng)熟悉了其他一些編程語言,這也不會有任何負(fù)面影響。我介紹的一些東西對你而言可能是一種回顧,不要擔(dān)心,你會學(xué)到很多關(guān)于Objective-C的細(xì)節(jié)?! ∪绻憬佑|過Objective-C,希望你可以在本書中發(fā)現(xiàn)一些有價值的新信息。我會努力將這些知識設(shè)計得便于你查找。這樣一來,你無需逐頁瀏覽,就能跳到某一部分并了解如何完成你想完成的任務(wù)?! τ诒緯惺褂玫囊恍┘s定,我盡量確保一致,同時盡量遵照蘋果的約定。唯一一個比較明顯的例外就是使用“方法”來表示實例和類的函數(shù)。蘋果通常會傾向于使用“消息”。某種程度上這是緣于Objective-C受到Smalltalk的影響?! £P(guān)于鍵盤快捷方式,我選用“Command鍵”這一術(shù)語來表示多數(shù)蘋果鍵盤上空格鍵左側(cè)的鍵。大家可能知道它也叫蘋果鍵,因為就在幾年前它上面會印有一個蘋果標(biāo)志。此外Command鍵旁邊的鍵稱為Option鍵,Option鍵旁邊的就是Control鍵。這些是和蘋果文檔的約定保持一致的。  關(guān)于存儲對象的變量,我通常會把它們稱作“實例變量”。有些書會習(xí)慣用該術(shù)語或者其縮寫“ivar”來指代作為類的一部分的變量。對此,我喜歡使用“成員變量”。在我看來,成員變量可以是實例變量,但不是所有的實例變量都是成員變量?! ≡谖闹刑峒胺椒〞r,我會遵照蘋果引用它們的約定:使用方法名,但不包括參數(shù)。比如以下方法:  -(void)someMethodUsingParam1:(NSString *)param1 andParam2:(NSString *)param2;  就會被寫做:-someMethodUsingParam1:andParam2。如果它是一個類方法,打頭的連字符就會被替換成一個+號,就像你在寫類定義中的方法一樣?! £P(guān)于示例代碼,在需要構(gòu)建完整項目的章節(jié),通常我會盡可能提供代碼的完整列表。在沒有提供的情況下,你可以從本書網(wǎng)站上下載包含圖片資源和其他相關(guān)支持文件的項目。有部分章節(jié)可能無法創(chuàng)建一個完整的項目來展示相關(guān)技術(shù)。在這種情況下,代碼列表可能只是一些片段,你可用作自定義代碼的基礎(chǔ)。由于這些代碼片段無法構(gòu)成功能完整的項目,在網(wǎng)站上也就沒有提供示例項目?! ∥蚁M阍陂喿x本書時會有一種和我寫作時一樣的愉悅體驗。在我看來,一本好的技術(shù)書的標(biāo)志就是它不會被束之高閣。它會被好好地放在書桌上或者書桌旁,因為經(jīng)常需要翻閱它。我希望這本書在你的手中也會有這樣的地位,并且希望它書角翹起、封面破損,每頁都留有潦草的筆跡,但仍然能在未來幾年對你有所幫助?! ?hellip;…

內(nèi)容概要

  要為市面上最熱門的Mac、iPhone和iPad等設(shè)備創(chuàng)建應(yīng)用,就必須掌握Objective-C和面向?qū)ο缶幊獭1緯髡呤琼敿獾腗ac開發(fā)人員和專業(yè)作家。通過本書的詳盡指引,即使是編程新手也可以迅速學(xué)會Objective-C。本書全方位地介紹了Objective-C,從基礎(chǔ)知識到資深程序員所使用的高級技術(shù)等眾多主題,其中包括內(nèi)存管理、多個框架的結(jié)合使用、線程安全的技巧,以及Xcode的詳細(xì)用法等。
  通過閱讀本書,讀者將能夠:
  掌握Objective-C語法、運(yùn)行時和Xcode,編寫出第一個移動應(yīng)用程序
  創(chuàng)建類,使用屬性,了解對象
  使用代碼塊、線程、KVO和協(xié)議
  定義和編寫宏,處理錯誤并在項目中使用框架
  清理線程,學(xué)會使用設(shè)計模式,掌握高級技術(shù)
  利用NSCoder讀寫數(shù)據(jù)
  為Windows、Linux和其他平臺編寫代碼
  本書既能引導(dǎo)Mac、iPhone和iPad開發(fā)新手入門,又可幫助高級程序員提高技能,是Objective-C開發(fā)人員的案頭必備書籍。

作者簡介

Jiva DeVoe
擁 有25年的軟件開發(fā)經(jīng)驗,是專門開發(fā)iPhone和Mac OS X 應(yīng)用的Random
Ideas軟件公司的創(chuàng)始人,已有多個iPhone應(yīng)用成為蘋果廣告中的推薦應(yīng)用。此外,他還是Cocoa Touch for iPhone
OS 3 Developer Reference的作者。他的博客地址為www.random-ideas.net。

書籍目錄

第一部分 Objective-C簡介
 第1章 Objective-C簡介 
  1.1 使用Xcode 進(jìn)行開發(fā) 
  1.1.1 新建項目 
  1.1.2 項目文件 
  1.1.3 添加源碼文件 
  1.1.4 主Xcode窗口 
  1.2 理解編譯過程 
  1.2.1 編碼 
  1.2.2 源碼、編譯代碼和可執(zhí)行文件 
  1.2.3 查看應(yīng)用包 
  1.2.4 編譯設(shè)置 
  1.3 使用Xcode靜態(tài)分析器 
  1.4 Objective-C運(yùn)行時 
  1.5 小結(jié) 
 第2章 基本語法 
  2.1 使用語句和表達(dá)式 
  2.1.1 聲明變量 
  2.1.2 使用注釋 
  2.1.3 標(biāo)量類型 
  2.1.4 使用特殊變量修飾符 
  2.1.5 結(jié)構(gòu)體 
  2.1.6 使用類型定義 
  2.1.7 使用enum 
  2.1.8 指針 
  2.1.9 使用運(yùn)算符 
  2.1.10 三目運(yùn)算符 
  2.2 使用函數(shù) 
  2.2.1 函數(shù) 
  2.2.2 定義函數(shù) 
  2.2.3 實現(xiàn)與接口 
  2.2.4 鏈接實現(xiàn)文件 
  2.3 控制程序流 
  2.3.1 使用條件語句 
  2.3.2 使用循環(huán)語句 
  2.4 活學(xué)活用 
  2.5 小結(jié) 
 第3章 添加對象 
  3.1 對象 
  3.1.1 創(chuàng)建類 
  3.1.2 聲明對象 
  3.1.3 調(diào)用對象方法 
  3.2 使用屬性 
  3.2.1 狀態(tài)和行為的區(qū)別 
  3.2.2 使用點標(biāo)記 
  3.3 應(yīng)用對象 
  3.3.1 創(chuàng)建員工對象 
  3.3.2 創(chuàng)建經(jīng)理類 
  3.3.3 在HR 主函數(shù)中關(guān)聯(lián)不同的類 
  3.4 小結(jié) 
 第4章 Objective-C內(nèi)存管理 
  4.1 使用引用計數(shù) 
  4.1.1 內(nèi)存管理規(guī)則 
  4.1.2 使用自動釋放 
  4.1.3 對象內(nèi)部的內(nèi)存 
  4.2 使用垃圾回收 
  4.2.1 垃圾回收器 
  4.2.2 為項目配置垃圾回收 
  4.2.3 在垃圾回收項目中使用框架 
  4.3 關(guān)鍵的垃圾回收模式 
  4.3.1 管理有限的資源 
  4.3.2 編寫支持垃圾回收的基礎(chǔ)應(yīng)用 
  4.3.3 處理nib文件中的對象 
  4.3.4 強(qiáng)制垃圾回收 
  4.3.5 處理空指針和垃圾回收 
  4.3.6 使用垃圾回收的面向?qū)ο蠼涌凇?br />  4.4 項目使用的內(nèi)存管理模型 
  4.5 小結(jié) 
第二部分 更多特性
 第5章 代碼塊 
  5.1 了解代碼塊 
  5.1.1 聲明代碼塊 
  5.1.2 使用代碼塊 
  5.2 了解重要的代碼塊作用域 
  5.2.1 管理代碼塊內(nèi)存 
  5.2.2 通過typedef提高代碼塊的可讀性 
  5.3 在線程中使用代碼塊 
  5.3.1 使用GCD 
  5.3.2 使用GCD在線程中調(diào)度代碼塊 
  5.4 通用的代碼塊設(shè)計模式 
  5.4.1 將代碼塊作為映射 
  5.4.2 在標(biāo)準(zhǔn)API 中使用代碼塊 
  5.5 在易并行任務(wù)中應(yīng)用代碼塊 
  5.5.1 創(chuàng)建項目 
  5.5.2 在數(shù)組中使用代碼塊過濾素數(shù) 
  5.5.3 使用GCD 
  5.6 小結(jié) 
 第6章 鍵值編碼和鍵值觀察 
  6.1 通過鍵值編碼訪問對象屬性 
  6.1.1 鍵路徑 
  6.1.2 編寫符合KVC標(biāo)準(zhǔn)的存取器方法 
  6.1.3 在數(shù)組中使用KVC 
  6.1.4 在結(jié)構(gòu)體和標(biāo)量中使用KVC 
  6.1.5 查找對象特性 
  6.2 觀察對符合KVC標(biāo)準(zhǔn)的值的修改 
  6.2.1 使用KVO 
  6.2.2 注冊成為觀察者 
  6.2.3 定義KVO的回調(diào) 
  6.2.4 移除觀察者 
  6.2.5 實現(xiàn)手動通知 
  6.2.6 使用KVO的風(fēng)險 
  6.3 應(yīng)用鍵值觀察 
  6.4 小結(jié) 
 第7章 使用協(xié)議 
  7.1 優(yōu)先使用組合而不是繼承 
  7.1.1 了解為什么不需要(或不想要)多繼承 
  7.1.2 理解協(xié)議如何解決問題 
  7.1.3 記錄期望別人實現(xiàn)的接口 
  7.2 在對象中實現(xiàn)協(xié)議 
  7.2.1 聲明協(xié)議 
  7.2.2 聲明一個類實現(xiàn)了協(xié)議 
  7.2.3 聲明一個必須實現(xiàn)協(xié)議的對象 
  7.2.4 正式協(xié)議和非正式協(xié)議 
  7.2.5 確定一個對象是否實現(xiàn)了可選方法 
  7.2.6 避免協(xié)議循環(huán)依賴 
  7.3 協(xié)議使用示例 
  7.4 小結(jié) 
 第8章 擴(kuò)展現(xiàn)有類 
  8.1 使用第三方框架和類 
  8.2 使用類別 
  8.2.1 聲明類別 
  8.2.2 實現(xiàn)類別方法 
  8.2.3 在頭文件中聲明類別 
  8.2.4 使用類別 
  8.2.5 通過類別拆分功能 
  8.2.6 擴(kuò)展類方法 
  8.2.7 分析類別的局限性 
  8.2.8 通過類別實現(xiàn)協(xié)議 
  8.2.9 了解在NSObject上創(chuàng)建類別的風(fēng)險 
  8.3 通過匿名類別擴(kuò)展類 
  8.4 在現(xiàn)有類中關(guān)聯(lián)變量 
  8.5 小結(jié) 
 第9章 編寫宏 
  9.1 回顧編譯過程 
  9.2 定義宏 
  9.2.1 定義常量 
  9.2.2 通過編譯傳遞常量 
  9.2.3 在宏中使用變量 
  9.2.4 字符串化 
  9.2.5 使用條件判斷 
  9.2.6 使用內(nèi)置宏 
  9.3 小結(jié) 
 第10章 錯誤處理 
  10.1 錯誤分類 
  10.2 使用錯誤處理的不同機(jī)制 
  10.2.1 使用返回碼 
  10.2.2 使用異?!?br />  10.2.3 使用NSError 
  10.3 小結(jié) 
第三部分 使用 Foundation框架
 第11章 了解框架之間如何配合工作 
  11.1 了解Foundation框架 
  11.2 在項目中使用框架 
  11.2.1 添加框架 
  11.2.2 包含頭文件 
  11.2.3 考慮垃圾回收 
  11.3 小結(jié) 
 第12章 使用字符串 
  12.1 了解字符串聲明語法 
  12.1.1 使用格式化字符串 
  12.1.2 使用其他NSString方法 
  12.1.3 使用NSString類別 
  12.2 小結(jié) 
 第13章 使用集合 
  13.1 使用數(shù)組 
  13.1.1 使用字典 
  13.1.2 使用Set集合 
  13.1.3 認(rèn)識可變性 
  13.2 了解集合和內(nèi)存管理 
  13.3 遍歷 
  13.4 向元素發(fā)送消息 
  13.5 排序和過濾 
  13.6 在集合中使用代碼塊 
  13.7 小結(jié) 
 第14章 使用NSValue、NSNumber和NSData 
  14.1 使用NSValue和NSNumber 
  14.1.1 通過NSValue包裝任意數(shù)據(jù)類型 
  14.1.2 通過NSNumber包裝數(shù)字 
  14.1.3 通過NSDecimalNumber進(jìn)行算術(shù)運(yùn)算 
  14.2 使用NSData和NSMutableData 
  14.2.1 創(chuàng)建NSData對象 
  14.2.2 訪問NSData對象中的生數(shù)據(jù) 
  14.3 小結(jié) 
 第15章 處理時間和日期 
  構(gòu)建日期 
  使用時間間隔 
  日期比較 
  使用NSCalender 
  使用時區(qū) 
  15.1 使用NSDateFormatter 
  15.2 小結(jié) 
第四部分 高級主題
 第16章 通過多個線程實現(xiàn)多處理 
  16.1 同步代碼 
  16.1.1 使用鎖 
  16.1.2 使用@synchronize關(guān)鍵字 
  16.1.3 理解原子性 
  16.2 創(chuàng)建NSTread 
  16.2.1 創(chuàng)建線程 
  16.2.2 控制運(yùn)行的線程 
  16.2.3 訪問主線程 
  16.2.4 通過執(zhí)行選擇器跨線程 
  16.3 使用NSOperation和NSOperationQueue 
  16.3.1 創(chuàng)建操作 
  16.3.2 將操作加入到隊列 
  16.3.3 控制隊列參數(shù) 
  16.3.4 使用不同的操作 
  16.4 小結(jié) 
 第17章 Objective-C設(shè)計模式 
  17.1 識別解決方案中的模式 
  17.2 用Objective-C描述設(shè)計模式 
  17.2.1 使用單例 
  17.2.2 委托責(zé)任 
  17.2.3 將變化通知給多個對象 
  17.3 小結(jié) 
 第18章 利用NSCoder讀寫數(shù)據(jù) 
  在對象上實現(xiàn)NSCoding協(xié)議 
  對象編碼 
  基本類型編碼 
  使用對象圖 
  使用其他類型的數(shù)據(jù) 
  解碼對象 
  18.1 使用NSArchiver和NSUnarchiver 
  18.2 處理存檔文件格式和遺留數(shù)據(jù) 
  18.3 小結(jié) 
 第19章 在其他平臺上使用Objective-C 
  19.1 使用GNUstep 
  19.1.1 使用Cocotron 
  19.1.2 使用其他開源庫 
  19.2 展望未來 
  19.3 小結(jié)

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    好學(xué)的Objective-C PDF格式下載


用戶評論 (總計45條)

 
 

  •   網(wǎng)上評價非常好的一本Objective-C的教材和參考書!

    OC的書,我手頭有四五本,加上我和同事自己編寫的。
    但是,這一本深入淺出,而且在不是很厚的書頁中,很好地講解了OC開發(fā)的內(nèi)容。
    理論實踐結(jié)合比較緊密。

    如果有開發(fā)經(jīng)驗,我和我的朋友們覺得,這本書,可以讓你在2小時到兩天的時間內(nèi),
    快速上手Objective-C語言開發(fā)!
  •   和Objective-c基礎(chǔ)有相似的地方,不過更基礎(chǔ)。
  •   把書看了兩遍,用來掌握基本知識就行。深入還是要找其他的
  •   寫得很好,適合有基礎(chǔ)的人
  •   有沒有基礎(chǔ),都可以看看,最好在學(xué)些C語言
  •   書的內(nèi)容好,我看書用了一周的時間就都學(xué)會操作了,現(xiàn)在正在設(shè)計項目
  •   在書城里挑選了整個下午,最終選擇了這本,然后在當(dāng)當(dāng)上買的。翻譯的還行,比起其他的高銷量oc書籍翻譯的要好些。看了大概3小時,概念講解清楚,有c/c++基礎(chǔ)的看此書很順暢。紙張一般般了,目前沒發(fā)現(xiàn)印刷問題。推薦想學(xué)oc的買這本。
  •   這是見過的最偷工減料的書,里面根本沒什么內(nèi)容,里面全是廢話,**貨,不知道為什么還有那么多的好評,想不到當(dāng)當(dāng)網(wǎng)里也有操作評價的無語了,建議初級學(xué)者千萬不要買,絕對坑爹
  •   內(nèi)容不多,適合入門
  •   這本書是學(xué)IOS必學(xué)的一本書!強(qiáng)烈推薦?。?!
  •   推薦同行購買!
  •   書很好,看了,寫的很不錯
  •   還沒讀,隨后來補(bǔ)
  •   過些天看完oc基礎(chǔ)再看這個、感覺應(yīng)該會理解的更透一點
  •   good book,i ***e the book very much .
  •   好書,但我買時點錯了多買了本,郁悶
  •   不錯,書收到時候非常快
  •   針對入門級的說明嘛好的!
  •   作為入門讀物,條理清晰。
  •   正在看,覺得還不錯!
  •   簡單直接
  •   書是幫同學(xué)買的,他很喜歡!
  •   本本都是精品
  •   同學(xué)說好,那就好
  •   一書在手,object-c就都會了。
  •   很合適的一本Objective-C的入門書籍
  •   講解很到位,深入淺出,適合初學(xué)者,推薦!
  •   如果你從頭學(xué)起,該書還是不錯的選擇,就像各種語言的入門書籍一樣,從helloworld開始。
  •   強(qiáng)人推薦的,應(yīng)該不會錯
  •   插圖很豐富,適于初學(xué)object-c的人
  •   簡明扼要,很快就可以上手
  •   還沒開始看呢 有時間再說吧
  •   與時俱進(jìn) 切實如需
    制作精良 受益匪淺
  •   翻了翻,還不錯,書太薄,沒有深入,一句話就是書的價值與金錢的價值不成正比
  •   還沒來得及看,看后再來補(bǔ)充
  •   這本書主要偏于理論,講解的還是比較細(xì)
  •   it行業(yè)的同志們,這本書不錯哦~
  •   看了一周,寫這本書的作者應(yīng)該是obj-c高手,但本書寫的太偏重于理論,基本是概念講解,很少有例子,讀起來很悶,像哲學(xué)和法律一樣……
  •   如果你想見識下當(dāng)代先進(jìn)翻譯器把整本書翻譯后的原封不動的原汁原味的結(jié)果,此書當(dāng)為首選。全書不見Apple字眼,蘋果倒是香氣噴人。最后,林本杰先生是否可以和大家分享一下這個強(qiáng)大的翻譯器呢?
  •   封面刮花啦!
  •   滿篇機(jī)器翻譯,譯者太不負(fù)責(zé),嚴(yán)重鄙視
  •   專業(yè)技術(shù)書,挺厚一本。得慢慢看了
  •   入門書確實不錯
  •   不錯,買來學(xué)習(xí)
  •   初學(xué)的書,蜻蜓點水。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7