ReactiveCocoa 直接回主线程

我们经常用GCD来在'subscribeNext'中切到主线程去操作UI
比如:

[YourSignal subscribeNext:^(id x) {
        dispatch_async(dispatch_get_main_queue(), ^{
            //TODO  显示成功
        });
    } error:^(NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            //TODO   显示失败
        });
    } completed:^{
        
    }];
    

其实RACSignal 'deliverOn' 可以直接切入主线程
而且有2种写法:
返回的都还是 RACSignal 信号类

 [YourSignal deliverOn:[RACScheduler mainThreadScheduler]] subscribeNext:^(id x) {
        
    } error:^(NSError *error) {
        
    } completed:^{
        
    }];

或者

[[YourSignal deliverOnMainThread] subscribeNext:^(id x) {
        
    } error:^(NSError *error) {
        
    } completed:^{
        
    }];

你可能感兴趣的:(ReactiveCocoa 直接回主线程)