RACSubject瓤球,使用場景:回調(diào)傳值带射。
/**
?注意 RACSubject和RACReplaySubject的區(qū)別 RACSubject必須要先訂閱信號之后才能發(fā)送信號他炊, 而RACReplaySubject可以先發(fā)送信號后訂閱. RACSubject 代碼中體現(xiàn)為:先走TwoViewController的sendNext霎苗,后走ViewController的subscribeNext訂閱 RACReplaySubject 代碼中體現(xiàn)為:先走ViewController的subscribeNext訂閱姆吭,后走TwoViewController的sendNext 可按實際情況各取所需。
?RACSubject 在使用中我們可以完全代替代理進行回調(diào)傳值唁盏。
?*/
- (IBAction)test:(id)sender {
? ? //發(fā)送信號
? ? [self.subject sendNext:@"發(fā)射數(shù)據(jù)"];
}
- (void)viewDidLoad {
? ? [super viewDidLoad];
? ? //創(chuàng)建信號
? ? self.subject = [RACSubject subject];
? ? //訂閱信號
? ? @weakify(self);
? ? [self.subject subscribeNext:^(id? _Nullable x) {
? ? ? ? // block:當有數(shù)據(jù)發(fā)出的時候就會調(diào)用
? ? ? ? // block:處理數(shù)據(jù)
? ? ? ? @strongify(self);
? ? ? ? self.contentL.text= x;
? ? ? ? NSLog(@"%@",x);
? ? }];
}