iOS RAC學(xué)習(xí)筆記 從零起步(第一天)

前言

現(xiàn)在很多公司都崇尚RAC開發(fā)了,尤其是配合MVVM的架構(gòu),使整個項目的邏輯性更加的強,而且維護代碼和迭代功能也不是那么頭疼了。本人覺得很重要,所以,從今天開始,分享一下RAC的學(xué)習(xí)方法,一步一步的教大家接受并開始嘗試這種機制。這是第一天學(xué)習(xí)筆記,以理論為主,希望大家能靜下心沉淀學(xué)習(xí)一下,為以后的學(xué)習(xí)做鋪墊。

什么是RAC?

全拼是ReactiveCocoa,是由Github開源的一個應(yīng)用于iOS和OS開發(fā)的新框架,簡單的說,就是一個第三方庫,可以大大簡化你的代碼過程。RAC具有函數(shù)式編程和響應(yīng)式編程的特性,并且目前看來安全可靠。

RAC的作用?(個人感覺)

  • 響應(yīng)式編程的特性,代碼思路更加清晰,數(shù)據(jù)處理更加清晰
  • 簡化代碼,降低各個模塊的耦合度
  • 需要用到通知的地方用起來很方便,而且和項目框架配合很靈活

RAC中用到的常見類

  • RACSiganl 信號類,一般表示將來有數(shù)據(jù)傳遞,只要有數(shù)據(jù)改變,信號內(nèi)部接收到數(shù)據(jù),就會馬上發(fā)出數(shù)據(jù)。通俗地說,就是需要去處理什么事情,就發(fā)個信號,告訴對方,可以處理啦。

默認(rèn)一個信號是冷信號,默認(rèn)不會被觸發(fā),只有訂閱了這個信號,這個信號才會成為熱信號,值改變的時候,才會被觸發(fā)。

至于如何訂閱信號和創(chuàng)建信號,今天先不說,下篇文章會系統(tǒng)的講下應(yīng)用和具體流程。

  • RACSubscriber 訂閱者 ,用于發(fā)送信號 ,這是一個協(xié)議,只有遵守這個協(xié)議,并且實現(xiàn)方法才能成為訂閱者。通過create創(chuàng)建的信號,都有一個訂閱者,幫助他發(fā)送數(shù)據(jù)。

  • RACDisposable 用于取消訂閱或者清理資源,當(dāng)信號發(fā)送完成或者發(fā)送錯誤的時候,就會自動觸發(fā)它。也可以主動取消訂閱信號。

  • RACSubjec 信號提供者,通俗地說,本身就是信號源,也是發(fā)送信號的人。一般傳遞數(shù)據(jù),或者要去處理事情,直接調(diào)用他就好了。

  • RACCommand RAC中用于處理事件的類,可以把事件如何處理,事件中的數(shù)據(jù)如何傳遞,包裝到這個類中,他可以很方便的監(jiān)控事件的執(zhí)行過程。我一般是用做數(shù)據(jù)請求的類,把數(shù)據(jù)請求放到這里。

  • RACMulticastConnection用于當(dāng)一個信號,被多次訂閱時,為了保證創(chuàng)建信號時,避免多次調(diào)用創(chuàng)建信號中的block,造成副作用,可以使用這個類處理。通俗地說,就是為了避免重復(fù)調(diào)用,多次請求。

  • RACScheduler RAC中的隊列,用GCD封裝的,沒有深入使用過,后期我會補上這個類的應(yīng)用場景。

one day結(jié)束語

今天給大家講解的都是理論知識,一定要靜下心來記錄一下,不懂沒有關(guān)系,很快我會根據(jù)例子講解下他們的具體應(yīng)用,相信大家就會有更感官的理解了。學(xué)習(xí)知識要循序漸進(jìn),知其然知其所以然,希望我的小小文字,能幫助你點滴。謝謝支持。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • RAC使用測試Demo下載:github.com/FuWees/WPRACTestDemo 1.ReactiveC...
    FuWees閱讀 6,656評論 3 10
  • 前言 之前對RAC有了一個基本的認(rèn)識,了解了它的作用,以及RAC的運行機制,我們知道只要是信號(RACSignal...
    大大盆子閱讀 4,622評論 0 11
  • 標(biāo)簽: iOS RAC 概述 ReactiveCocoa是一個函數(shù)響應(yīng)式編程框架,它能讓我們脫離Cocoa AP...
    GodyZ閱讀 7,786評論 16 97
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,692評論 19 139
  • 1.ReactiveCocoa簡介 ReactiveCocoa(簡稱為RAC),是由Github開源的一個應(yīng)用于i...
    清蘂翅膀的技術(shù)閱讀 2,088評論 0 1

友情鏈接更多精彩內(nèi)容