OC + RAC (二) Command 命令的用法

-(void)_test2{
    
    ///Command 命令的用法 注意使用command.executionSignals去订阅时 一定要先订阅再excute
    RACCommand * command = [[RACCommand alloc] initWithSignalBlock:^RACSignal * _Nonnull(id  _Nullable input) {
        
        NSLog(@"input = %@",input); // 就是execute后面的参数
        
        return [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber>  _Nonnull subscriber) {
            
            [subscriber sendNext:@"发布信息"];
            
            return nil;
        }];
        
    }];
    
    //另一种接收信息的方法 (此方法必须在execute方法之前)
    [command.executionSignals subscribeNext:^(id  _Nullable x) {
        NSLog(@"另一种接收信息的方法 %@",x); //x是信号 得再次订阅
        [x subscribeNext:^(id  _Nullable x) {
            
            NSLog(@"另一种接收信息的方法返回结果再次订阅 %@",x);
        }];
        
    }];
    
    RACSignal *commandSigal =  [command execute:@"开始飞起来"];
    
    [commandSigal subscribeNext:^(id  _Nullable x) {
        
        NSLog(@"接收发布的信息%@",x);
        
    } error:^(NSError * _Nullable error) {
        
    } completed:^{
        
    }]; //订阅commandSigal信号
    
    NSLog(@"//");
    ///switchToLatest表示的是最新发送的信号
    
    
}

 

转载于:https://www.cnblogs.com/liuw-flexi/p/10805800.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值