最近在斷斷續續的學習RAC,差很少兩個月的時間,學了120個小時左右。不得不說RAC的學習曲線十分陡峭,形成RAC難學的主要有幾點緣由:html
我建議學習iOS的同窗均可以學習下RAC,這是一種全新的編程思想(函數式響應編程),理解透徹了,能夠運用在任何語言。其實其餘語言都有對應的函數式編程框架,好比JS的RxJs,Java的RxJava等等,基本上流行的語言都有對應的Rx庫。react
前期學習RAC的時候,我花了大量的精力去搜集資料,而後篩選,在慢慢看。由於像RAC這種新的知識,只能經過蒐集網上的文章來學習,好的書籍基本上沒看到。ios
這篇博客主要是把本身在學習RAC過程當中的蒐集到資料整理出來,從初級到高級,還有對應的開源項目,讓你在學習RAC的過程當中不至於像我同樣處處蒐集而後篩選資料,浪費時間。git
咱們在學習一個知識點以前,不能僅僅學會如何使用,而是要知道這個知識點的前因後果,它能解決什麼痛點,有哪些優缺點,能不能解決你如今工做或者學習中遇到的問題,而後再決定是否須要花時間系統的學習。github
若是決定學習,就須要系統性而且深刻的學習,不能知足於從網上copy幾段代碼而後運用在項目裏面,就大言不慚的在簡歷上寫上精通RAC。編程
咱們學習一個框架,是要學習他的思想,而不是學會使用幾個API就完結了事,而後又就去追求新的知識。學習不是追求最新的技術潮流,而後在簡歷上寫上精通xxx,而是須要沉下心去研究,否則到最後只會喪失初心,愈來愈浮躁。segmentfault
廢話扯得有點多了,下面進入正題。網絡
開頭我就說過RAC是函數式響應編程框架,這裏包括兩個編程範式:函數式和響應式。下面這些資料能夠幫助你瞭解架構
咱們要開始學習一個新框架以前,確定須要作個背景調查:這個新框架能解決現有環境下的哪些編程痛點,是否值得我花精力去學習?框架
那麼下面幾篇文章會給你一個答案
由於RAC使用的是一種全新的方式來實現咱們平常的iOS編程中遇到的問題:
下面這幾篇文章看完,相信你對RAC對於前兩個問題的優雅處理會有所體會,至於第三個問題,咱們稍後再議。
看了上面兩篇文章,相信你對RAC已經感興趣了吧,至少我以爲RAC對於傳統iOS編程的前兩個痛點的解決方式很是優雅。
下面咱們就要進行深刻學習了,第一步就是要了解RAC的各類經常使用命令的做用,雖然RAC的註釋寫的很是詳細,可是有的時候仍是看的雲裏霧裏,畢竟太過抽象,仍是直接經過代碼演示每一個命令的用途來的更加直接。
下面的文檔你能夠當作字典,遇到不懂就能夠來查詢下。
相信我,若是你用過RAC+MVVM,你會愛上他們的組合的
把上面這些看完,你基本上能在本身的項目中小範圍使用RAC了,可是也僅限於使用下RAC的一些API寫一寫小功能,離真正理解RAC的思想還差得遠了。
這個時候你就須要閱讀大量開源的RAC項目來提升了,下面的項目會幫到你
終於在11.1號到來的前半個小時寫完了,果真deadline纔是最佳生產力呀。
這篇真正意義來講不算是一篇博客,算是一個資源收集貼,水了一把,不過也寫了我兩個半小時。
好睏,(~﹃~)~zZ
更多文章請訪問個人我的博客:blog.ximu.site