iOS-ReactiveCocoa常见宏

来源:互联网 发布:免费字体下载软件 编辑:程序博客网 时间:2024/06/08 19:07

ReactiveCocoa常见宏。

1 RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于给某个对象的某个属性绑定。

基本用法

//1.`RAC(TARGET, [KEYPATH, [NIL_VALUE]])`:用于给某个对象的某个属性绑定。    RAC(self.label,text) = self.textField.rac_textSignal;    //相当于://    [self.textField.rac_textSignal subscribeNext:^(id x) {//        self.label.text = x;//    }];

2RACObserve(self, name):监听某个对象的某个属性,返回的是信号。

基本用法

//`RACObserve(self, name) `:监听某个对象的某个属性,返回的是信号。    [RACObserve(self.view,frame) subscribeNext:^(id x) {        NSLog(@"x:%@",x);    }];

3 @weakify(Obj)和@strongify(Obj),一般两个都是配套使用,解决循环引用问题.

 @weakify(self);    RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {        @strongify(self)        NSLog(@"%@",self);        return nil;    }];    _signal = signal;

其中 _signal 定义使用strong定义!
4. RACTuplePack:把数据包装成RACTuple(元组类)

RACTuple *tuple = RACTuplePack(@1,@2);

5 RACTupleUnpack:把RACTuple(元组类)解包成对应的数据。

    //把一个对象包装成元组对象    RACTuple *tuple = RACTuplePack(@"Xuewei",@"18");    //解包元组,把元组的值,按顺序给参数里面的变量赋值    RACTupleUnpack(NSString *name,NSString *age) = tuple;    NSLog(@"name:%@  -  age:%@",name,age);

解析元组
这里写图片描述

0 0
原创粉丝点击