基于ReactiveCocoa搭建MVVM框架-环境配置与项目结构

1.首先,我们来了解下什么是MVVM框架

这张图网上找的,感觉比较贴合iOS的MVVM框架。

View| ViewController:1.处理用户Touch事件比如点击,长按,滑动等。2.展示ViewModel处理反馈的数据。

ViewModel:负责业务逻辑、封装网络处理、封装数据缓存。

Model:API请求的原始数据。

那么它相比MVC,有什么优势呢?有过1-2年iOS编程经验的人都会发现,使用原始的MVC框架,当团队人数多的时候,就会发现大家采用了五花八门的数据传递模式比如Delegate,Notification,Bolcks,单例模式等,当其他同事维护你的代码的时候用加入自己常用的模式,在加上所有业务都在Controller中处理,此时Controller的类就变的非常臃肿和杂乱,随着项目时间的推移,人才的更新迭代,原本的项目维护效率就越来越低,所以MVVM就诞生了,层次清晰,各模块职责明确,在加上RAC对iOS原始touch事件,delegate,kvo等机制的封装,整个项目的开发和后期维护效率都相当的高。

2.CocoaPods 的安装和使用以及ReactiveCocoa框架的导入

ReactiveCocoa一个iOS的第三方框架下面简称RAC。这里我们采用CocoaPods工具来导入RAC开源库。对于CocoaPods的安装使用以及怎么导入RAC,论坛有很多详细讲解,这里就不加说明,就简单贴入两篇别人的博客地址。

cocoaPods安装和使用

最新版CocoaPods的使用与安装-以导入ReactiveCocoa框架为例

在CocoaPods安装好后,简单的说就是

Podfile文件写入

platform:ios,'8.0'

target 'MVVMWithReactiveCocoa' do

pod 'ReactiveCocoa', '~> 2.5'

end

终端控制台执行:pod install

我这里已经导入了2.5版本的RAC如下截图:

我们在工程目录下就可以看到RAC的源码如下图

本文主要利用RAC搭建MVVM框架,对于RAC源码原理研究在这里就不作讲解,后续会讲解下RAC的常用方法。

3.项目引入RAC框架

引入RAC框架,这个还是用预编译文件全局引用比较方便,本人放在了Supporting Files虚拟目录下。

3.1 操作

选中 Supporting Files文件夹,右击->New File->Other->PCH File->Next 输入文件名称创建。

3.2在PrefixHeader.pch 中加入如下代码

#import <ReactiveCocoa/ReactiveCocoa.h>

#import <ReactiveCocoa/RACEXTScope.h>

贴图:

3.3 配置预编译文件路径

好了,到目前为止你的项目已经正常使用RAC框架了。

4.项目结构

1.在搭建我们MVVM框架之前,咱们先给自己的项目构建一个结构吧,以方便代码的阅读以及模块的迁移,本人喜欢在项目中建虚拟文件映射到项目中的真实文件夹(当然也看需求,模块具体划分),先简单创建下基础结构,后续随着模块需求在进行增加。

                                   

到此,本节已经接近尾声了,下一节我们讨论下RAC的一些常用类以及方法使用,也算为后续的MVVM框架打下基础。

交流沟通邮箱:gdlwork2013@163.com

转载于:https://my.oschina.net/u/3022138/blog/1505913

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值