iOS-创建自己的Signal工具类(一)

下载DEMO

最近看一些招聘信息的时候,尽然有人提到熟悉ReactiveCocoa。并且还是所谓的加分项。对于这个工具,熟练使用就好。一般工程不建议使用。

个人暂时觉得有一下几点:(以后待补充–不喜欢就别喷)
1:工具包太大
2:出问题了,调试非常不容易。
3:信号漫天飞。
4:工程需要用到的功能,可能就需要ReactiveCocoa他的一点点功能而已。资源占用太大

好了废话不多说。直接进入主题。

不用去罗列图片什么的,咱们直接进入代码看。

  1. 先要弄明白两个名词
    1:订阅者-接受信号,接受发布者发出的信号内容
    2:发布者-发布信号,订阅者发送数据源
  2. 使用过程
    1:订阅者就用subscribeNext:(void (^)(id x))nextBlock
    2: 发布信号sendNext:(id)value
  3. 发布到订阅流程
    首先订阅信号
    在订阅信号的时候,主要通过订阅RACBaseProctal这个协议。

顺便当前的对象也接受了这个协议,就要实现这个接口的方法。
编写自己的信号,我就写了其中的一个方法

B1C0202B-0AE7-469A-AD25-0F8F2873365A.png

在订阅信号的时候,系统做了一个假的堆栈。其实就是用一个数组,去装填接受了订阅RACBaseProctal的对象。
于是乎看下面的代码

// 组装对象
- (NSMutableArray * )subscribeNext:(void (^)(id x))nextBlock {
   
    NSCParameterAssert(nextBlock != NULL);
    RACBaseProctal * Proctal = [RACBaseProctal subscriberWithNext:nextBlock];
    return [self subscribe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值