ReactiveCocoa
unique叶
这个作者很懒,什么都没留下…
展开
-
ReactiveCocoa之简介(一)
1.ReactiveCocoa简介1.ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2.ReactiveCocoa作用在我们iOS开发过程中,经常会响应某些事件来处理某些业务逻辑,例如按钮的点击,上下拉刷新,网络请求,属性的变化(通过KV原创 2016-05-23 09:51:02 · 1623 阅读 · 0 评论 -
ReactiveCocoa之核心方法bind的使用(十一)
1.1 ReactiveCocoa操作思想运用的是Hook(钩子)思想,Hook是一种用于改变API(应用程序编程接口:方法)执行结果的技术.Hook用处:截获API调用的技术。Hook原理:在每次调用一个API返回结果之前,先执行你自己的方法,改变结果的输出。1.2 ReactiveCocoa核心方法bindReactiveCocoa操作的核心方法是bind(绑定),原创 2016-05-23 16:24:58 · 1259 阅读 · 0 评论 -
ReactiveCocoa之RAC常用宏(十)
/** * RAC有许多强大而方便的宏。 */- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self testAndtest2]; }/** *RAC宏 */原创 2016-05-23 11:53:49 · 3226 阅读 · 0 评论 -
ReactiveCocoa之RAC合并(九)
@interface ViewController ()@property (weak, nonatomic) IBOutlet UITextField *accountField;@property (weak, nonatomic) IBOutlet UITextField *pwdField;@property (weak, nonatomic) IBOutlet UIButton *原创 2016-05-23 11:51:58 · 7428 阅读 · 0 评论 -
ReactiveCocoa之RAC过滤(八)
// 跳跃 : 如下,skip传入2 跳过前面两个值// 实际用处: 在实际开发中比如 后台返回的数据前面几个没用,我们想跳跃过去,便可以用skip- (void)skip { RACSubject *subject = [RACSubject subject]; [[subject skip:2] subscribeNext:^(id x) { NSLog(@原创 2016-05-23 11:49:47 · 4991 阅读 · 0 评论 -
ReactiveCocoa之RAC映射(七)
- (void)map { // Map使用步骤: // 1.传入一个block,类型是返回对象,参数是value // 2.value就是源信号的内容,直接拿到源信号的内容做处理 // 3.把处理好的内容,直接返回就好了,不用包装成信号,返回的值,就是映射的值。 // Map底层实现: // 0.Map底层其实是调用flatte原创 2016-05-23 11:47:07 · 807 阅读 · 0 评论 -
ReactiveCocoa之RACMulticastConnection使用(六)
1.RACMulticastConnection:用于当一个信号,被多次订阅时,为了保证创建信号时,避免多次调用创建信号中的block,造成副作用,可以使用这个类处理。2.使用注意:RACMulticastConnection通过RACSignal的-publish或者-muticast:方法创建. RACMulticastConnection使用步骤:原创 2016-05-23 11:37:16 · 1473 阅读 · 0 评论 -
ReactiveCocoa之RACCommand使用(五)
1.RACCommand:RAC中用于处理事件的类,可以把事件如何处理,事件中的数据如何传递,包装到这个类中,他可以很方便的监控事件的执行过程。2.使用场景:监听按钮点击,网络请求RACCommand的简单使用 一、RACCommand使用步骤: 1.创建命令 initWithSignalBlock:(RACSignal * (^)(id input))原创 2016-05-23 11:31:11 · 3067 阅读 · 0 评论 -
ReactiveCocoa之RACSubject用法(四)
1.RACSubject:RACSubject:信号提供者,自己可以充当信号,又能发送信号。2.使用场景:通常用来代替代理,有了它,就不必要定义代理了。需求:1.给当前控制器添加一个按钮,push到另一个控制器界面2.另一个控制器view中有个按钮,点击按钮,返回控制器的第一个页面和接收到第二个界面的消息第一个界面:- (void)viewDidLoad { [原创 2016-05-23 11:19:09 · 5150 阅读 · 0 评论 -
ReactiveCocoa之RACSignal核心类的使用(三)
RACSignal使用步骤: 1.创建信号 + (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe 2.订阅信号,才会激活信号. - (RACDisposable *)subscribeNext:(void (^)(id x))nextBlock 3.发送信号 - (void)s原创 2016-05-23 11:12:33 · 2686 阅读 · 0 评论 -
ReactiveCocoa之常见用法(二)
ReactiveCocoa开发中常见用法。 代替代理: rac_signalForSelector:用于替代代理。 代替KVO : rac_valuesAndChangesForKeyPath:用于监听某个对象的属性改变。 监听事件: rac_signalForControlEvents:用于监听某个事件。 代替通知: rac_addObse原创 2016-05-23 11:01:40 · 2894 阅读 · 2 评论 -
ReactiveCocoa之RAC内存管理(十二)
在一开始接触RAC的时候,我们知道RAC对于block都是copy赋值的。@implementation RACSignal#pragma mark Lifecycle+ (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe { return [RACDynamicSignal原创 2016-05-23 17:09:13 · 3321 阅读 · 0 评论