美文网首页
iOS ReactiveCocoa学习 (1)

iOS ReactiveCocoa学习 (1)

作者: 小沫360 | 来源:发表于2016-05-25 18:06 被阅读47次

    demo下载

    Xcode 7.2运行没问题,如果有很多错误,估计是ReactiveCocoa的版本问题

    RACSiganl:信号类,一般表示将来有数据传递,默认是冷信号,也就是值改变了,也不会触发,只有订阅了这个信号,这个信号才会变为热信号,值改变了才会触发

    RACSubscriber:表示订阅者的意思,用于发送信号

    RACDisposable:用于取消订阅或者清理资源,当信号发送完成或者发送错误的时候,就会自动触发它

    // 1.创建信号
        RACSignal *siganl = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        
            
            // 2.发送信号
            [subscriber sendNext:@1];
            
            // 如果不在发送数据,最好发送信号完成,内部会自动调用[RACDisposable disposable]取消订阅信号。
            [subscriber sendCompleted];
            
            return [RACDisposable disposableWithBlock:^{
                
                // 执行完Block后,当前信号就不在被订阅了。
                
                NSLog(@"信号被销毁");
                
            }];
        }];
        
        // 3.订阅信号,才会激活信号.
        [siganl subscribeNext:^(id x) {
            // block调用时刻:每当有信号发出数据,就会调用block.
            NSLog(@"接收到数据:%@",x);
        }];
    
    

    相关文章

      网友评论

          本文标题:iOS ReactiveCocoa学习 (1)

          本文链接:https://www.haomeiwen.com/subject/wwutdttx.html