轉自:http://ourcoders.com/thread/show/117/編程
應該不少人看過了,發出來給沒有看過的。。架構
有些文檔都是很早的了,但仍是涵蓋了許多基礎知識,值得一看框架
有些能夠直接去蘋果官網查看最新版本的,一些文檔蘋果已經更新到iOS7了異步
這裏咱們就介紹自學iOS開發應該遵循或者說咱們推薦的必讀文檔的閱讀順序。ide
閱讀順序:工具
首先應該看的是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,完成學習過程當中第一個里程碑。在這個過程當中不用擔憂有什麼疑問,有什麼不懂,先照着作就是。ui
閱讀這三個文檔的目的和檢測標準是,把這三個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裏面別的文檔講的內容雖然不一樣,可是結構你已經很清楚了,你學習起來很方便。
閱讀本文的目的和檢測標準是,遇到問題,知道看什麼文檔,想提高本身技術的時候,知道按照什麼脈絡本身組織閱讀。