ReactiveCocoa(5.0)简单解析和导入

作者: 简简单单写书 | 来源:发表于2017-05-05 14:57 被阅读131次

    随着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

    相关文章

      网友评论

        本文标题:ReactiveCocoa(5.0)简单解析和导入

        本文链接:https://www.haomeiwen.com/subject/rctstxtx.html