編輯推薦
運用Objective-C學習Cocoa,有助於提高掌握Cocoa和Objective-C以及開始在iOS和OS X平颱上進行應用開發的速度。如果你不熟悉蘋果公司的開發工具,這沒有關係!那就從麵嚮對象的編程開始,直到學會將應用數據存入iCloud為止。本書涵蓋瞭創建iPhone、iPad和Mac所需的各種知識。
內容簡介
通過本書,你將學會如何使用Xcode IDE、Objective-C的基礎庫,以及事件工具庫和核心動畫製作之類的其他開發工具。循序漸進,你將從構建實例項目開始,創建簡單的Objective-C的應用、客戶視圖、簡單的視頻播放器,以及為用戶顯示日曆事件的應用。
學習OS X和 iOS應用軟件的生命周期。
使用Cocoa和Cocoa Touch的用戶界麵係統。
使用AV Fundation播放視頻和音頻。
構建供用戶利用文檔來創建、編輯和使用的應用程序。
使用文件係統進行本地數據存儲,或使用iCloud在網絡上存儲數據。
使用錶視圖和集閤視圖顯示數據列錶或集閤。
使用Core Location和Core Motion進行內外通信。
使用塊和操作查詢來進行多重處理。
作者簡介
Paris Buttfield-Addison,是Secret實驗室的閤夥創始人,作為一名無綫通信設計師和工程師,他還從事遊戲設計和個人信息管理研究。
Jon Manning,是一名iOS開發的培訓員、遊戲設計者和研究者,還是移動軟件工程師。他也是Secret實驗室的閤夥創始人。
Tim Nugent,是一名移動應用程序的開發員和遊戲設計師,也是一名博士生兼作傢。你可以用@The_McJones在Twitter上與他進行聯係。
內頁插圖
精彩書評
“如果你對iOS或OSX開發感興趣的話,這是一本理想的入門教程。Jon和Paris將他們在Cocoa開發中積纍的各種知識轉化成瞭這本淺顯易懂的經驗之書。”
——ElaineWherry,
Meebo閤夥創始人和CXO
目錄
前言.1
第1章 Cocoa開發工具 .9
Mac和iOS 開發程序 9
在Xcode漫遊 11
開發一個簡單的Objective-C應用程序.21
使用iOS模擬器25
第2章 使用Objective-C的麵嚮對象編程 . 27
麵嚮對象編程 27
內存管理 38
NSObject的生命周期40
第3章 Foundation 42
可變和不可變對象.42
數組 48
字典 52
NSValue和NSNumber53
Cocoa中的設計模式 .58
第4章 OS X和iOS應用程序 . 61
什麼是應用程序 .61
應用程序的生命周期66
應用程序沙盒 72
第5章 圖形用戶界麵 76
OS X和iOS中的界麵 76
MVC和應用程序設計77
Nib文件 77
構造一個界麵 83
使用nib和約束構建一個應用 85
UI Dynamics .87
為iOS設計界麵90
第6章 塊和操作隊列 95
塊95
操作隊列的並發性 101
小結 103
第7章 在視圖中繪製圖形 107
繪圖原理 . 107
像素網格 . 109
在視圖中繪圖 111
構建自定義視圖 113
第8章 音頻和視頻 . 133
AV Foundation 133
用AVPlayer播放視頻 . 134
用 AVAudioPlayer播放聲音 141
使用照片庫. 143
第9章 模型對象和數據存儲 150
Key-Value Coding151
Key-Value Observing .152
用NSNotification通知 154
用沙箱工作. 163
第10章 Cocoa綁定 166
綁定視圖到模型 166
一個單獨的綁定App 167
綁定控製器. 169
數組和對象控製器 171
一個更復雜的綁定程序 172
第11章 錶格視圖和集閤視圖. 178
數據源和委托 178
錶格視圖 . 179
iOS下的UITableView .179
OS X上的NSTableView 187
集閤視圖 . 192
第12章 基於文檔的應用程序 196
NSDocument和UIDocument類 .197
MVC下的文檔對象 197
文檔種類 . 197
文檔規則 . 198
OS X下基於文檔的應用程序. 198
iOS下基於文檔的應用程序 206
第13章 網絡 214
連接 214
建立一個網絡版的應用程序 218
Bonjour 服務發現 220
Multipeer Connectivity .222
第14章 現實世界的工作 . 226
使用Location .226
地理編碼 . 233
區域監測和iBeacons235
位置與隱私. 237
地圖 237
設備運動 . 240
打印文檔 . 245
遊戲控製器. 248
App Nap 250
第15章 事件工具包 252
理解事件 . 252
使用事件 . 255
建立事件應用 256
用戶隱私權. 261
第16章 工具和調試器 262
啓動儀器 . 262
用儀器修復問題 268
保持循環和泄漏 272
使用調試器. 275
第17章 共享與通知 281
共享 281
通知 287
第18章 非標準應用 295
命令行工具 295
偏好設置麵闆 297
狀態項 . 300
多窗口的iOS應用 302
第19章 使用文本 305
國際化和本地化 . 305
用NSFormatter格式化數據 308
用NSDataDetector檢測數據 . 310
文本工具箱 313
第20章 iCloud 315
iCloud存儲什麼 315
iCloud設置 316
測試iCloud的工作情況 318
存儲設置 . 318
iCloud存儲 323
前言/序言
在Mac首次支持Cocoa框架時,我們就開始研究它瞭。從那時起,我們看到瞭Cocoa和Objective-C 從一個小型程序員環境逐步發展為世界上最重要及最有影響力的開發環境之一(實際上,在最近幾年,Objective-C成為瞭TIOBE索引中最受歡迎程序語言之一)。
這些年,我們開發瞭許多大型而復雜的iOS 和OS X 軟件,並以這種方式將它帶到成韆上萬人麵前。我們已經對這個工具集,架構和程序語言有瞭一個深刻的理解,那就是為iOS和OS X 提供最好的軟件纔是最重要的。蘋果時常做齣改變,就像最近關於瘦身的iPad 和強大的iPhone 展示的那樣,然而關於使用開發工具、框架,以及語言來實現你的想法的必要知識不會改變。這本書將會教你這些知識,帶給你自信,使你慶幸能夠使用Cocoa、Cocoa Touch 以及Objective-C進行iOS和OS X開發。
讀者對象
需要有一定開發能力,但不需要開發過iOS或者OS X ,或者使用過Objective-C 。同時,作為用戶對OS X有過非常舒適的體驗,並且瞭解如何使用一個iOS設備。
本書組織結構
在本書中,我們將討論Cocoa和Cocoa Touch 和OS X ,以及在OS X 和iOS 上分彆使用的框架。沿著這個綫路,我們也將討論Objective-C ,包含它的語法和特性。每章會包含相當多實用的例子,可以跟著做。前麵的章節包含通用的話題,例如設置開發環境,認識Objective-C語言,但後麵的章節包含一些Cocoa和Cocoa Touch 獨特的特性。
下麵是各章主要內容的簡介:
第1章 Cocoa開發工具本章介紹Cocoa 和Cocoa Touch ,以及在OS X 和iOS 上使用的架構。我們將介紹Xcode,這是這些平颱編寫代碼要使用的集成開發環境(IDE)。本章也包含Apple Developer Programs ,如果想在Mac和iTunes App Stores 上發布軟件,這是很有必要的。
第2章使用Objective-C的麵嚮對象編程本章介紹麵嚮對象編程,Objective-C 使用的編程模式,以及Objective-C 如何實現麵嚮對象編程。本章也包含Cocoa和Cocoa Touch 的內存管理,這是開發Mac程序和iOS 程序最需要去瞭解的東西。
第3章 Foundation 本章介紹Foundation框架,它提供瞭基本數據類型(如字符串、數組和字典)。本章也討論Cocoa和Cocoa Touch 主要依賴的底層設計模式。
第4章 OSX和iOS應用程序本章討論應用在Mac和iOS設備上如何安裝和操作。在這一章,我們將討論在兩種平颱上應用的生命周期,以及沙盒化如何應用訪問數據和資源。
第5章圖形用戶界麵本章將演示用戶界麵如何載入並呈現給用戶。本章介紹Cocoa提供的一種最強大的概念:nibs ,它預定義和預配置用戶界麵,能夠直接連接到代碼。本章也將討論在OS X 和iOS上使用的動畫係統Core Animation ,以及用戶界麵附加的物理特性UIDynamics。
第6章 Block與操作隊列本章介紹Block,這是由Objective-C 引入到C語言中的一個非常靈活而有用的擴展。Block 是一種函數,它能夠被存儲在變量中,並且可以像值一樣被傳遞。這使得迴調的實現變得非常簡單。本章還介紹瞭操作隊列,這是一種直接的方式來處理並發,不需要考慮綫程。
第7章在視圖中繪製圖形在本章中,將學習同時適用於OS X 和iOS 中的繪圖係統,以及如何繪製定製圖形。本章還包括視網膜屏幕顯示Sprite Kit,以及視圖坐標是如何工作的。
第8章音頻與視頻本章介紹使用AVFoundation 播放音頻和視頻,音頻的和視頻引擎。也將學習如何使用iOS照片庫,以及訪問用戶照片。
第9章模型對象和數據存儲本章介紹瞭一套在OS X 和iOS上同時可用的數據存儲選項。還包括鍵值編碼(Key-Value Coding,KVC)和鍵值觀察(Key-Value Observing,KVO),偏好設置,通知,文件係統訪問。此外,將學習如何製作安全域書簽,這允許沙盒化的應用獲取用戶授權的訪問。
第10章 Cocoa綁定本章介紹瞭Cocoa綁定,這是一個非常強大的係統,允許連接應用用戶界麵到另一個應用數據,而不需要額外的連接代碼。
第11章錶視圖和集閤視圖本章介紹錶視圖(一個有效的方式,用於嚮用戶顯示多行數據)和集閤視圖,允許給用戶顯示一組數據項。
第12章基於文檔的應用程序本章同時討論瞭iOS 和OS X 上的文件係統,這有助於創建與多個文件相關的應用。這裏,我們討論這兩個平颱處理文件方麵的區彆。
第13章網絡Cocoa 和Cocoa Touch 提供非常直接的方式來訪問網絡資源,本章將演示如何在保持應用持續響應的情況下從網上獲取信息。本章還介紹網絡服務探測係統Bonjour。
第14章與現實世界交互本章介紹各種用於連接真實世界的技術:Core Location ,用於獲得GPS訪問;Core Motion用於瞭解硬件是如何移動和確定方嚮的,並且也包含同時適用於iOS和OS X 的打印係統。還將討論Beacons、遊戲控製器和地圖。
第15章 Event Kit 本章討論iOS和OS X 同時使用的日曆係統,並演示如何獲取用戶日曆的訪問。我們也將討論對用戶隱私的考慮。
第16章 Instruments和調試器本章介紹工具,這是用於Mac和iOS應用的分析器和分析工具。本章也將討論一個應用崩潰的例子,崩潰的原因通過運行這個應用得以診斷並修復。另外,本章還包含Xcode內置調試器的使用。
第17章共享與通知本章討論應用如何共享文字、圖像,以及需要使用各種其他服務(如Twitter,Facebook)的內容,使用內置共享係統(不需要應用處理對這些服務的授權)。另外,我們還將介紹推送通知和本地通知,允許應用顯示信息給未運行應用的用戶。
第18章非標準應用程序不是每個應用都會被放置在用戶的主屏幕上,本章將告訴如何寫三種不同的非標準應用:命令行工具、菜單欄應用,以及偏好麵闆。
第19章文本處理本章介紹同時適用於iOS和OS X 的字符串本地化係統TextKit ,我們將在本章討論使用內置數據探測器從文字中提取數據。
第20章 iCloud 本章討論iCloud,它是蘋果提供的雲數據存儲和同步係統。iCloud的功能和需求將被討論,包含OS X和iOS的演示應用。
本書約定
以下是印刷上的約定:
斜體字(italic)錶示新術語、URL、email地址、文件名以及文件擴展名。
固定寬度(Constant.width) 用於程序清單,段落內引用程序元素,如變量或函數名、數據庫、數據類型、環境變量、語句和關鍵詞。
固定寬度粗體(Constant.width.Bold) 顯示命令或其他用戶逐字輸入的文字。固定寬度斜體(Constant width italic) 顯示應該被用戶支持的值或通過上下文決定的值替換的文字。
這個圖標錶示一個提示、建議。
這個圖標錶示一個普通的注意。
這個圖標錶示一個警告或警示。
使用示例代碼
本書的補充材料(示例代碼,練習等)可在下麵的網址下載https://github.com/ thesecretlab/LearningCocoa4thEd 。
本書可以幫助你完成自己的工作。通常,可能會在自己的程序或文件中使用本書的代碼。不需要聯係我們獲得許可,除非使用瞭這個代碼的重要部分。例如,使用本書中幾段代碼編寫一個程序不需要獲得許可,然而銷售或發布一個光盤,包含O'Reilly 的書中示例,這需要獲得許可。引用本書迴答某些問題以及引用示例代碼不需要許可。閤並本書大量的示例代碼到你的産品文件則需要獲得許可。
不要求注明齣處,但如注明錶示感激。一個齣處通常包括標題、作者,齣版社以及ISBN。例如:“Learning Cocoa with Objective-C by Jonathon Manning, Paris Buttfield-Addison, and Tim Nugent (O’Reilly). Copyright 2014 Jonathon Manning, Paris Buttfield-Addison, and Tim Nugent, 978-1-491-90139-7.”
如果你感覺對示例代碼的使用超齣瞭閤法使用或以上允許的範圍,請聯係我們:permissions@oreilly.com 。
Safari. Books Online
Safari Books Online(www,safaribookonline.com)是一個按需服務的數字圖書館,它將高質量的內容以書本和視頻的形式錶現齣來,這些信息都來自技術上和商業上處於世界領先地位的作者。
技術專傢,軟件開發者,網頁設計師,以及商業人士和有創意專業人士使用Safari BooksOline作為他們的主要資源,用於研究,解決問題,學習和專業認證訓練。
Safari Books Online 為組織、政府機構和個人提供瞭一係列的産品組閤和定價程序。訂閱者可以訪問成韆上萬的圖書,訓練視頻,以及一個可任意搜索的數據庫(來自齣版社,如O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology 等)中的一個齣版前的手稿。關於Safari Books Online的更多信息,請在綫與我們聯係。
聯係我們
請發送關於本書的評論和問題到以下齣版社:美國:
O’Reilly Media,Inc.1005 Gravenstein Highway NorthSebastopol,CA 95472
中國:
北京市西城區西直門南大街2號成銘大廈C座807室(100035)奧萊利技術谘詢(北京)有限公司
緻謝
Jon感謝他的母親、父親,以及傢庭中的其他成員對他的大力支持。
Paris感謝他飽受苦難的母親,從孩提時代母親的信用卡就成為他上百部移動設備的後備力量,這很有可能就是他現在沉迷於iPhone、iPad和移動設備的原因。
Tim 感謝他的父母和傢人忍受他相當乏善可陳的生活方式。
感謝我們的編輯Brian Jepson 和Rachel Roumeliotis ,他們的技術和建議對於本書的完成有著重大的貢獻。同時,感謝所有O’Reilly Media員工,在撰寫本書的過程中,他們展現瞭在各自領域的卓越纔能。
非常感謝Tony Gray ,感謝AUC給予我們的大力幫助,並感謝在本頁上列齣的其他人。如果沒有他們,我們不會寫這本書。
同時,感謝Neal Goldstein,在將我們倆推進整本書寫作的事情上,他一直都很負責。
感謝Maclab的工作人員對我們的支持,他們瞭解自己,並一直堅信著。再次感謝Admiral Dolphin ,還有Christopher Lueg 教授以及Tasmania 大學與我們一起並肩作戰的其他人員。
由於種種原因,我們還要感謝TimN 、Nic W、Andrew B、Jess L和Ash J。最後,特彆感謝Steve Jobs,如果沒有他,這本書不可能存在。
Cocoa學習手冊(第四版) [Learning Cocoa with Objective-C] epub pdf mobi txt 電子書 下載 2024
Cocoa學習手冊(第四版) [Learning Cocoa with Objective-C] 下載 epub mobi pdf txt 電子書
Cocoa學習手冊(第四版) [Learning Cocoa with Objective-C] mobi pdf epub txt 電子書 下載 2024
Cocoa學習手冊(第四版) [Learning Cocoa with Objective-C] epub pdf mobi txt 電子書 下載 2024