美文网首页
RAC - 02 - 使用RACSubject 代替 代理

RAC - 02 - 使用RACSubject 代替 代理

作者: 文瑶906 | 来源:发表于2018-08-14 14:53 被阅读0次

    当想让 view 的数据告诉给 ViewController 的时候,需要使用代理。有些麻烦,这个时候可以使用 RACSubject 来代替 代理

    #import <ReactiveObjC/ReactiveObjC.h>
    
    @interface WYView : UIView
    @property (nonatomic, strong) RACSubject *subject;
    @end
    
    @implementation WYView
    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
    {
        [_subject sendNext:@"WYView"];
    }
    @end
    
    
    // 调用
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        WYView *aView = [WYView new];
        aView.backgroundColor = [UIColor blueColor];
        aView.frame = CGRectMake(100, 100, 200, 200);
        [self.view addSubview:aView];
    
        RACSubject *subject = [RACSubject subject];
        [subject subscribeNext:^(id  _Nullable x) {
            // 订阅 代码
        }];
        aView.subject = subject;
    }
    @end
    

    相关文章

      网友评论

          本文标题:RAC - 02 - 使用RACSubject 代替 代理

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