ReactiveCocoa(5.0)簡單解析和導入

隨著Swift升級為3.0,ReactiveCocoa也跟著一起升級改版,這個升級是將RAC拆分為了四個庫:ReactiveCocoa、ReactiveSwift、ReactiveObjC、ReactiveObjCBridge

ReactiveCocoa

現在的RAC注意力主要集中在Swift和UI層上,將原來一個機遇RAC面向UI層的擴展庫Rex合并驚了RAC。
RAC 3 和 4 的主要精力在圍繞 Swift 重新打造一個響應式編程庫。因為這部分的核心 API 已經很成熟,所以現在將重心放在為 AppKit 和 UIKit 提供一些更好用的擴展上。

ReactiveSwift

原來 RAC 中只和 Swift 平臺相關的核心代碼被單獨抽取成了一個新框架:ReactiveSwift

Swift 正在快速成長并且成長為一個跨平臺的語言。把只和 Swift 相關的代碼抽取出來后,ReactiveSwift 就可以在其他平臺上被使用,而不只是局限在 CocoaTouch 和 Cocoa 中。

ReactiveObjC

在 RAC 3 和 4 中,RAC 也包含了 RAC 2 中的 OC 代碼。現在這部分代碼被移到了 ReactiveObjC

這樣做的原因是因為兩個庫雖然有著一樣的核心編程范式,實際上卻是完全獨立的兩套 API 。實際的使用中,RAC 4 和 RAC 2 是完全不同的兩組用戶群,并且維護的團隊其實也是兩組。之前混在一個庫里也增加了管理的復雜度。拆分出去后也可以更加自由的維護 ReactiveObjC

ReactiveObjCBridge

在把 Swift 和 OC 的庫拆分之后問題來了,并不是所有的庫都是純 OC 和 Swift 的。有相當大一部分項目處于 OC 遷移到 Swift 過程中,其中可能使用 Swift 調用了 RAC 2 中基于 OC 寫的 API。為了解決這部分用戶的問題,所以有了 ReactiveObjCBridge

項目導入分析

  • 如果你只是純 swift 項目,你繼續使用 ReactiveCocoa 。但是 RAC 依賴于 ReactiveSwift ,等于你引入了兩個庫。
  • 如果你的項目是純 OC 項目,你需要使用的是 ReactiveObjC 。這個庫里面包含原來 RAC 2 的全部代碼。
  • 如果你的項目是 swift 和 OC 混編,你需要同時引用 ReactiveCocoa 和 ReactiveObjCBridge 。但是 ReactiveObjCBridge 依賴于 ReactiveObjC ,所以你就等于引入了 4 個庫。

ReactiveCocoa的導入

使用CocoaPods導入,如果不知如何導入請看 用Swift調用CocoaPods導入第三方類庫

  1. 在終端輸入 cd 文件夾目錄下
  2. 在終端輸入vim Podfile
  3. 在文件中輸入
    <pre>platform :ios, ‘8.0’
    target 'index項目名稱' do
    use_frameworks!
    pod 'ReactiveCocoa', '~> 5.0.0'
    post_install do |installer|
    installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
    config.build_settings['SWIFT_VERSION'] = '3.0'
    end
    end
    end
    end
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容