初识RAC-002--RACSignal类

本文介绍ReactiveCocoa (RAC) 的基本概念及如何使用RACSignal进行事件处理。RAC是一款强大的函数响应编程框架,能简化复杂的事件驱动编程。文章详细展示了如何通过CocoaPods引入RAC,并通过实例演示了信号类RACSignal的创建、订阅及数据发送过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RAC是什么?
RAC — ReactiveCocoa(RAC)  Github 一个开源框架!!
RAC — 函数响应编程框架!!
RAC有什么用?
帮助我们更简单霸气的处理事件!!
引入RAC  4.0.0
RAC里面最常见和常用的类!!!
RACSignal : 信号类!

  1. 通过RACSignal创建一个信号!! (默认是: 冷信号!!)
  1. 通过订阅者!订阅这个信号!(变成: 热信号!!)
  1. 发送信号!!

0.cocoapods管理ReactiveCocoa库,如果使用OC写建议导入4.0.0版本,可以看到OC底层源码

pod 'ReactiveCocoa'


1.ViewController的.h文件中

#import "ViewController.h"
#import <ReactiveCocoa/ReactiveCocoa.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
//    RACSignal: 信号类,当我们有数据产生,创建一个信号!
    //1.创建信号(冷信号!)
    //didSubscribe调用:只要一个信号被订阅就会调用!!
    //didSubscribe作用:利用subscriber发送数据!!
    RACSignal * signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        //3.发送数据subscriber它来发送
        [subscriber sendNext:@"呵呵哈哈嘿嘿"];
        
        return nil;
    }];
    
    
    //2.订阅信号(热信号!!)
    //nextBlock调用:只要订阅者发送数据就会调用!
    //nextBlock作用:处理数据,展示UI界面!
    [signal subscribeNext:^(id x) {
        //x:信号发送的内容!!
        NSLog(@"%@",x);
    }];

}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end


2.理解底层代码(流程图)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值