危楼高百尺,手可摘星辰。
不敢高声语,恐惊天上人。——李白《夜宿山寺》
实际项目中的不同风格用法
控件赋值也可以这么样用(类似于cell中设置)
1 | RAC(self.textLabel, text) = RACObserve(self, city.cityName); // 直接给label文字赋值 |
转模型也可以这么用
1 | - (void)initSearchSubscrition { |
代理方法也可以这么调
1 | [[self rac_signalForSelector:@selector(didSaveDataCallback:) fromProtocol:@protocol(SaveDataCallBack)] subscribeNext:^(RACTuple *tuple) { |
多个渠道请求数据都返回才能进行下一步 可以这么组装
1 | RACSignal *requestHot = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { |
监听属性改变
1 | // 设置Label 文字跟着 TextField的改变而改变 |
1 | // 监听某一个属性的改变 |
数组
1 | NSArray *array = @[@1, @2, @3, @4, @5]; |
1 | // 过滤 filter,并获取过滤后的数组 |
1 | // 匹配、映射 map,变换元素并获取新数组 |
字典
1 | // rac_keySequence 和 rac_valueSequence 跟数组一样 |