ReactiveCocoa 學習心得 1

2021-07-10 09:08:09 字數 1690 閱讀 9939

說到reactivecocoa,就算沒有用過的這個框架的ios開發者,一般也會想到連個個詞語,函式式程式設計和響應式程式設計。

最近換了乙份工作,公司用的是mvvm設計模式,自然少不了**搭檔reactivecocoa(以下簡稱rac),之前不太了解,實際專案也沒有用到過。初次見面,被各種巢狀的block晃得眩暈,同時候也被簡單的幾句**產生出來的巨大能量而震撼。

看了一些文件,大都是先講述什麼事函式式程式設計和響應式程式設計,理論知識看著看著就覺得乏累。這種認知一般都是建立在熟練了rac框架之後,加上個人理解總結出來的,對於剛接觸的開發者來說,要很好的理解這些東西,確實需要很紮實的程式設計基礎。我覺得,還是先學會用,慢慢熟悉,然後開始的靈活運用,然後再去看這些理論性的總結,應該會更有畫龍點睛的作用。

所以,我決定先不刨根到底什麼是函式式程式設計,什麼是響應式程式設計,就從最簡單的用法開始去理解它。

使用之前當然得先導入rac了,有兩種方法,通過submodules半自動匯入和使用cocoapods進行安裝。【如果你已經安裝過or熟悉安裝流程,請跳過這篇文章,直接進入第二篇,如果還沒有第二篇,敬請期待……】

一,通過submodules引入rac的工程。(與一般的第三方庫不同,這裡要引入的是乙個新的工程到你當前的工程)

$ git submodule add   ---submodules 是git的乙個工具,能夠幫助你把乙個工程引入到另乙個工程。

$ cd /users/boohee/desktop/racshowdemo/reactivecocoa-master/script ---進入bootstrap目錄

$ ./bootstrap 執行指令碼

1、等待指令碼執行結束,把reactivecocoa.xcodeproj 和 carthage/checkouts/result/result.xcodeproj拖進你的工程。

2、進入工程的target settings 介面,選中 general 選單,在 embedded binaries 欄目裡新增 reactivecocoa.framework 和 result.framework。(這裡不僅有ios的framework,還有watchos 和 tvos 的framework,別選錯了)。

3、如果你的工程不包含swift** ,在 build setting 裡設定 embedded_content_contains_swift 為 yes。

到此rac已經成功整合到本地工程。

二、當然就是使用cocoapods啦(推薦使用,總體來說畢竟要方便很多)

這裡預設都已經安裝過cocoapods了

$ pod search reactivecocoa  ---在git上搜尋 reactivecocoa 確定需要的版本

$ cd /users/boohee/desktop/racdemo ---進入到本地專案所在的目錄

$ vim 'podfile' ---建立podfile資料夾,進入編輯模式輸入系統支援版本和rac的版本號,如下:

platform :ios, '7.0'

pod 'reactivecocoa', '~> 2.4.7'

按 esc 退出編輯 :wq 儲存退出

$ pod install --verbose --no-repo-update ---如果你網路允許,也可 pod install

然後等一會,rac就順利整合到你的本地工程了。

ReactiveCocoa學習隨筆 一

self.usernametextfield.rac textsignal subscribenext id x 實現了動態監視textfield輸入的功能,一旦有輸入,就會執行 subscribenext bloc k,動態nslog textfield 所輸入的文字。self.usernamet...

ReactiveCocoa學習隨筆 二

racsignal validusernamesignal self.usernametextfield.rac textsignal map id nsstring text racsignal validpasswordsignal self.passwordtextfield.rac text...

學習ReactiveCocoa教程 (整理的資料)

學習資料 framework overview basic operators memory management reactivecocoa tutorial the definitive introduction art 2 譯文 mvvm tutorial with reactivecocoa...