文档章节

【iOS编程思想】ReactiveCocoa (1)简介和安装

魔笛GNR
 魔笛GNR
发布于 2016/07/30 17:35
字数 448
阅读 57
收藏 0

简介:

ReactiveCocoa,简称RAC,是函数响应式编程框架。RAC具有函数式编程和响应式编程的特性。它主要吸取了.Net的 Reactive Extensions的设计和实现。

为什么我们要用它

1) 开发过程中,状态以及状态之间依赖过多,RAC更加有效率地处理事件流,而无需显式去管理状态。在OO或者过程式编程中,状态变化是最难跟踪,最头痛的事。这个也是最重要的一点。

2) 减少变量的使用,由于它跟踪状态和值的变化,因此不需要再申明变量不断地观察状态和更新值。

3) 提供统一的消息传递机制,将oc中的通知,action,KVO以及其它所有UIControl事件的变化都进行监控,当变化发生时,就会传递事件和值。

4) 当值随着事件变换时,可以使用map,filter,reduce等函数便利地对值进行变换操作。

通过Pod安装:

1、创建 Podfile:

终端cd到项目所在目录,输入下面的命令,创建Podfile(前提是已经正确安装了CocoaPods ,详情请看之前的关于CocoaPods安装的博客):

$ vim Podfile

2、在Podfile中输入:

use_frameworks!

pod 'ReactiveCocoa', '~> 4.0.2-alpha-1'

3、退出并保存,执行以下命令:

$ pod install

至此,RAC已安装完毕,下次来结束它的基础用法吧! 

Github:

https://github.com/ly918/Demos

© 著作权归作者所有

共有 人打赏支持
魔笛GNR
粉丝 6
博文 82
码字总数 43485
作品 0
郑州
iOS工程师
iOS开发 MVVM-ReactiveCocoa资料

相对好懂一点的: http://southpeak.github.io/blog/2014/08/02/reactivecocoazhi-nan-%5B%3F%5D-:xin-hao/ http://southpeak.github.io/blog/2014/08/02/reactivecocoazhi-nan-er-:twitters......

神补刀
2015/11/10
0
0
美团客户端响应式框架 - EasyReact

EasyReact 是一款基于响应式编程范式的客户端开发框架,开发者可以使用此框架轻松地解决客户端的异步问题。EasyReact 已在美团和大众点评客户端的部分业务中进行了实践,并且持续迭代了一年多...

匿名
07/23
0
0
iOS应用架构谈(二):View层的组织和调用方案(中)

关于MVC、MVVM等一大堆思想 其实这些都是相对通用的思想,万变不离其宗的还是在开篇里面我提到的那三个角色:数据管理者,数据加工者,数据展示者。这些五花八门的思想,不外乎就是制订了一个...

hejunbinlan
2015/08/05
0
0
ReactiveCocoa & MVVM 学习总结二

二. MVVM 1. 什么是MVVM From: https://github.com/ReactiveCocoa/ReactiveViewModel#model-view-viewmodel MVVM是指 Model-View-ViewModel的简称,与MVC的一个主要区别是 view 拥有view mo......

lewis-180
2015/09/23
0
0
从 C-41 看 MVVM 和 ReactiveCocoa

从 C-41 看 MVVM 和 ReactiveCocoa 基本概念 C-41 是一个关于 和 的开源程序,我是通过 objc.io 上的一篇文章知道它的,相关地址: 英文版文章 中文版文章 项目地址 () 和 () 都有不错的介绍...

陈圣晗
2015/07/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
7
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
18
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部