蘋果Xcode幫助文檔閱讀指南



Xcode文檔的結構

image

如上圖,打開後,整個文檔界面有左面的側欄和右面的內容區域構成。左面的側欄可以選擇不同的文檔庫。你的Xcode裏面一般來說有一組不同版本的iOS文檔庫、一組不同版本的OS X文檔庫,以及一個Xcode文檔庫。

如果你這裏沒有你要查看的文檔庫,你可以選擇Xcode的Preferences菜單,然後選擇Downloads -> Documentation。在這裏可以看到已經下載安裝了的文檔庫,還沒有下載的文檔庫,可以酌情選擇。如下圖:

image

然後我們看,文檔內容區域的左側導航區域,這裏揭示了文檔庫的結構。如下圖:

image

首先是,Resource Types,也就是資源類型。文檔庫裏面全部的文檔都是這幾個類型中的一個:

  1. Getting Started —— 新手入門,一般來說,是給完全的新手看的。建議初學者看看,這裏面有一些建立觀念的東西,有了這些建立觀念的東西,後面的學習就比較容易了。
  2. Guides —— 指南,指南是Xcode裏面最酷最好的部分,學會看指南則大多數情況完全不用買書。Xcode文檔裏面的指南,就是一個一個問題的,從一個問題,或者系統的一個方面出發,一步一步詳細介紹怎麼使用Cocoa庫的文檔。一般程序員比較熟悉的是Reference,就是你查某個類、方法、函數的文檔時候,冒出來的東西。那些其實是一點一點的細碎知識,光看那些東西就完全沒有脈絡。而Guides就是幫你整理好的學習的脈絡。
  3. Reference —— 參考資料。一個一個框架一個一個類組織起來的文檔,包含了每個方法的使用方法。
  4. Release Notes —— 發佈說明。一個iOS新版本帶來了哪些新特性,這樣的信息,熟悉新iOS,比較不同iOS版本API不同,都需要參考這些文檔。
  5. Sample Code —— 示例代碼。蘋果官方提供的一些示例代碼,幫助你學習某些技術某些API。非常強烈建議學習的時候參考,一方面光看文檔有時候還是很難弄明白具體實現是怎麼回事兒。另外一方面這些示例代碼都是蘋果的工程師寫的,你從示例代碼的變遷可以看到蘋果官方推薦的代碼風格流變。
  6. Technical Notes —— 技術說明。一些技術主題文章,有空的時候可以瀏覽一下。往往會有一些收穫。
  7. Technical Q&A —— 常見技術問答。這是技術社區裏面一些常見問題以及回答的整理。
  8. Video —— 視頻。目前主要是WWDC的視頻,實際上是登錄到開發者網站上去瀏覽的,這裏就是快捷方式。想深入學習的話,一定不能錯過,大量的看,不僅可以學好技術,還可以練好英文。

總結一下,這裏面的Reference、Release Notes、Sample Code、Technical Notes、Technical Q&A,一般來說只是備查的。主要要看的是Getting Started和Guides。

然後下面是Topics,也就是話題,被分爲:

  1. Audio & Video —— 音視頻
  2. Languages & Utilities —— 語言和工具,Objective-C的一些知識,App Store的管理工具等。
  3. Mathematical Computation —— 數學計算。
  4. Xcode
  5. Data Management —— 數據管理。
  6. General —— 一般性的問題。
  7. Graphics & Animation —— 圖形和動畫。
  8. Networking & Internet —— 網絡問題。
  9. Performance —— 性能。
  10. Security —— 安全。
  11. User Experience —— 用戶體驗。

這裏不多說,大多數都是顧名思義的問題。但是值得一提的就是有很多初學者說,我想好好了解下圖形和動畫的技術,但是文檔裏面找不到,這就只能說,你睜着大大的眼睛,爲毛左看右看看不到呢?

最下面是Frameworks(框架),分爲:

  1. Cocoa Touch Layer
  2. Media Layer
  3. Core Services Layer
  4. Core OS Layer

這裏我們先不討論這個東西,後面會仔細講。

總體來說左邊的導航區域就是用三種不同的維度,來幫你精準定位你需要的內容。

現在我們看內容區域的右邊。注意上面的文檔過濾器。如下圖:

image

假設,你現在想看關於性能方面的Guides,那麼你應該做的就是在左面的導航,點擊Topics -> Performance,然後在右邊的文檔過濾器上面輸入Guides。或者你也可以在左邊的導航,點擊 Resource Types -> Guides,然後在文檔過濾器裏面輸入 Performance。

熟練使用導航和文檔過濾器的話,學習就會非常方便快捷。

共80條回覆
tinyfool 回覆於 6月前

文檔導讀

前面我們講Xcode的文檔結構是在介紹如何能夠快速定位到你要找的內容。但是很多人的問題可能是一開始就根本不知道要讀什麼。

這裏我們就介紹自學iOS開發應該遵循或者說我們推薦的必讀文檔的閱讀順序。

閱讀順序:

  1. 《馬上着手開發 iOS 應用程序 (Start Developing iOS Apps Today)》
  2. 《Your First iOS App》
  3. 《Your Second iOS App: Storyboards》
  4. 《Your Third iOS App: iCloud》
  5. 《iOS Technology Overview》
  6. 《iOS Human Interface Guidelines》
  7. 《Learning Objective-C: A Primer》和《Programming with Objective-C》
  8. 《iOS App Programming Guide》
  9. 《View Programming Guide for iOS》和《View Controller Programming Guide for iOS》
  10. 《Table View Programming Guide for iOS》

首先應該看的是Getting Started裏面的《馬上着手開發 iOS 應用程序 (Start Developing iOS Apps Today)》(中英文版本皆有,蘋果官方的翻譯)。這個文檔講的很淺,但是是建立概念的文檔,你以後在開發裏面經常遇到的概念,在這裏都有包含,特別注意是,這個文檔看起來簡單,但是每頁下面的相關文章,不是選讀,都是必讀。

即使是很多做了iOS開發很久的同學,其實也有很多概念上的誤解,現代程序開發越來越簡單,工具越來越強大,往往有些誤解也可以繼續前行,但是實際上不建立扎實的基礎是很吃虧的,往往後面理解和解決一個不難解決小問題都要付出很多辛苦。

閱讀這個文檔的目的和檢測標準是,以後你看到iOS開發中的基本概念,都大致所有了解。

讀完《馬上着手開發 iOS 應用程序 (Start Developing iOS Apps Today)》後,應該去看Your XXX iOS App系列這個系列不是什麼很難的文章,你也不必着急先去學習Objective-C,學什麼C語言就更不要着急。我推薦的學習方法是有成就的逐步學習法。在學習系統體系架構、Objective-C之前,你可以先按照文檔寫一個全天下最簡單的App,完成學習過程中第一個里程碑。在這個過程中不用擔心有什麼疑問,有什麼不懂,先照着做就是。

閱讀這三個文檔的目的和檢測標準是,把這三個Demo App做出來在模擬器上跑起來。

在這個過程中,你對開發工具的基本認識就建立起來了,也有了成就感,去了魅(就是消除了對iOS開發的神祕感)。

再往下,建議你去看《iOS Technology Overview》(iOS技術概覽),iOS不是一個技術,而是一堆技術,前一篇講到文檔導航區域的分類,框架分類的時候,我說不細講的原因就在於此,你要做一個動畫應該用Core Animation還是OpenGL?你要做一些文本相關操作應該用Core Text還是什麼,就是看這裏。

學習現代的程序開發,語言和框架並重。我們Tiny4Cocoa叫做這個名字的原因就是,iOS/Mac開發者的代表往往就是這個Cocoa框架,就是這個SDK。大多數你所需要的功能都躺在框架裏面,你知道框架的結構,你才知道怎麼去尋找相關的技術資料。

閱讀這個文檔的目的和檢測標準是,遇到具體問題,知道應該去看哪方面的文檔。

再下來,建議閱讀的是《iOS Human Interface Guidelines》,Mac/iOS平臺雖然也是百花齊放各類程序、App都有,但是總體看來,大多數優秀App的UI看起來都和整個系統很協調。這和Windows以及很多其他平臺完全不同。這是爲什麼呢?

很大程度就歸功於《Human Interface Guidelines》文化,所謂Human Interface Guidelines就是用戶界面的規範,在蘋果它還專門有一個縮寫叫做HIG,是天條一樣的東西。所有的App都推薦遵循HIG,遵循了HIG,你做的東西用戶看起來就會覺得和整個系統很協調。即使是你要做一些創新的設計,你勢必會打破HIG的限制,但是你這個時候仍舊應該遵循HIG的精神。

此外,你閱讀HIG的很重要一點是瞭解整個UI結構和UE行爲的邏輯機理,這樣才能在你設計界面的時候有所依據。

閱讀這個文檔的目的和檢測標準是,看到任何一個App,你可以知道它的任何一個UI是系統控件,還是自定義控件,它的層次關係等等。

《Learning Objective-C: A Primer》是非常初級和簡單的入門,適合先閱讀。《Programming with Objective-C》超微複雜一點點,適合後閱讀。

一般人建議先學習語言,我反之建議先做了一個App,然後再學習語言。原因有幾個,首先現代開發工具,往往不是用來開發控制檯程序的,上來就會有框架,光懂語言不會使用IDE,甚至可能會更麻煩。再其次就是,其實現代語言發展到了面向對象以後,庫往往比語言更復雜,更重要,或者說更多的時候,我們是在學習庫,而不是語言,語言只是庫的一個載體。

比如,Delegate和Block等等都和Cocoa的UI異步機制關係緊密,光看代碼,這些語言元素非常難以學習,也完全不知道其意義在哪裏。

閱讀這個文檔的目的和檢測標準是,看得懂基本的Objective-C代碼,方便後面的學習和閱讀各種示例代碼。

《iOS App Programming Guide》基本上介紹的就是開發一個App的完整流程,包括App的生命週期、休眠、激活等等,裏面介紹的細節頗多。正式開發第一個上線的App之前必看。或者開發了一個App,臨到提交前必看才文檔。

閱讀這個文檔的目的和檢測標準是,瞭解全部流程和很多細節問題。

《View Programming Guide for iOS》和《View Controller Programming Guide for iOS》非常重要。View是整個圖形界面裏面最重要的概念。所有的圖形、界面繪製都基於View。你看到的一切複雜的用戶界面,就是各種不同的View的組合堆疊。

View Controller是View和某種邏輯在一起的組合,本質上這種組合不是必須的,但是是大大降低編程複雜度的一種設計。很多人不懂什麼是View什麼是View Controller,這樣寫起代碼來就很痛苦。

閱讀這個文檔的目的和檢測標準是,深刻理解什麼是View,什麼是View Controller,理解什麼情況用View,什麼情況用View Controller。

UITableView是最重要的一個控件,是最常用的UI界面元素。在UICollectionView出現之前,大量的內容列表展示的自定義控件都是基於UITableView,比如很多書架、圖片Grid其實都是UITableView做的。

所以《Table View Programming Guide for iOS》非常重要,一定要好好閱讀。

閱讀這個文檔的目的和檢測標準是,深刻理解UITableView/UITableViewController的理論和使用方法。

我推薦的必讀文檔就這麼多,仔細看的話,最多也就是今天就看完了。學習一個東西,如果有一點點耐心,有正確的方法其實不難,不是說腦子非要很聰明,大多數人都可以做到一個星期就學會iOS開發,其實就是讀完這些文檔,大多數人就會了。

就像我強調了無數次,閱讀英文文檔不難,我自己從當年看英文文檔非常吃力,必須查詞典開始,認真的看英文文檔,不會就查詞典,一個多月過去,讀英文文檔就完全不需要查詞典了。

我們公司主程 @sycx 老師,也說他原來英語也很不好,甚至現在英語仍舊很爛,但是看英文文檔完全沒有問題,也就是幾個星期的認真學習以後就突破了。

其實學習iOS也如此。當然我不是說你看懂這10組文檔就再也不用看別的了。而是說,如果你看懂了這10組文檔,你就從初學者,或者是雖然會寫一些程序,但是對iOS其實還不懂的狀態,變成了一個入門者。

我不希望這個文章可以一句一句的幫你學會iOS是什麼,這個文章的目的是幫你快速入門。一旦你入門了,你再遇到問題該看什麼,你就不需要我講了,你自己就知道了。一旦入門了,你就會發現,Xcode裏面別的文檔講的內容雖然不同,但是結構你已經很清楚了,你學習起來很方便。

閱讀本文的目的和檢測標準是,遇到問題,知道看什麼文檔,想提升自己技術的時候,知道按照什麼脈絡自己組織閱讀。

tinyfool 回覆於 6月前

如何查詢文檔

Quick Help

最快捷的查詢幫助文檔的方法是不需要鍵入任何關鍵詞的。你只需要在Xcode代碼編輯器裏,按住Option鍵,然後點擊你想查詢的關鍵詞,就會獲得關鍵詞的幫助信息。如下圖:

image

幫助信息會包括,一些簡單的描述、哪個iOS操作系統開始提供,頭文件,參考文檔。頭文件和參考文檔是可以直接點擊的。

即使你點擊的關鍵字不是Cocoa庫的內容,是自己代碼裏面的類或者方法,也可以獲得相關的定義信息。如下圖:

image

與之相關的熱鍵是Command鍵加鼠標點擊,即可跳到任何一個類名或者方法名的所定義的頭文件。

快速查詢幫助的另外一個方法是直接打開Quick Help欄,如下圖,首先找到“右側欄開關”,然後找到“Quick Help”開關即可打開。

image

Quick Help欄的作用機制是,只要它在打開狀態,只要輸入光標在什麼關鍵字上,Quick Help欄就會顯示跟關鍵字相關的簡要幫助信息,跟Option鍵加點擊的信息基本一致,但可能略微豐富一點。

寫代碼的時候,在大多數情況下,查詢下快速幫助,看看頭文件,就足以了。

搜索幫助

文檔閱讀界面最左面的上端的放大鏡按鈕就是搜索界面。下圖是我們搜索uiimage,得到的搜索結果。

image

首先值得注意的是,結果也是分類的,分爲Reference、System Guides、Tools Guides、Sample Code這四類。類別很利於我們快速找到我們需要的信息。前面已經介紹過類別,跟那個基本一致,參照即可。

另外需要注意的是,搜索框下面的選項,首先是Hits Must(什麼樣的結果纔會命中),包含了三項:

  1. contain search term 這是最常見的就是結果包含搜索詞
  2. start with search term 由搜索詞開始
  3. match search term 必須完全匹配搜索詞

然後是Languages(語言選項),包含Javascript、C++、Java、Objective-C、C語言。

然後是,Find in(在哪些文檔庫搜索),包含了你Xcode裏面安裝的全部文檔庫。

閱讀文檔

最後,我們簡單介紹下怎麼閱讀文檔。文檔的閱讀界面如下圖:

image

值得注意的是,標題下面這幾樣:

  1. Inherits from 繼承關係,繼承自
  2. Conforms to 遵循什麼協議
  3. Framework 屬於什麼框架
  4. Availability 從什麼iOS版本開始支持
  5. Declared in 頭文件
  6. Related sample code 相關例子代碼
  7. Companion guide 相關的指南(UIImage沒有,很多其他的類有)

在其次一個很重要的東西,其實是標題上面那一條窄窄的導航欄,那是一個多層樹狀導航欄,看文檔的時候,可以點擊那個欄的不同位置瀏覽。

其實這個欄包含了整個文檔庫的組織結構樹狀圖,可惜只有在這個界面才能瀏覽。有興趣的可以慢慢瀏覽,裏面信息量其實非常大。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章