1.RACSubject繼承RACSignal羔沙,與RACSignal不同的是筹误,RACSubject自身就可以信號的創(chuàng)建磺送,訂閱與發(fā)送
//創(chuàng)建信號
RACSubject *subject = [RACSubject subject];
//訂閱信號
[subject subscribeNext:^(id _Nullable x) {
NSLog(@"%@", x);
}];
//發(fā)送信號
[subject sendNext:@"信號"];
2.RACReplaySubject繼承RACSubject代虾,與RACSubject不同歉摧,RACReplaySubject關心歷史信號艇肴,會進行輸出
RACReplaySubject *subject =[RACReplaySubject subject];
[subject sendNext:@"RACReplaySubject"];
[subject subscribeNext:^(id _Nullable x) {
NSLog(@"%@", x);
}];
RACSubject *subject2 = [RACSubject subject];
[subject2 sendNext:@"RACSubject"];
[subject2 subscribeNext:^(id _Nullable x) {
NSLog(@"%@", x);
}];
運行結果:
運行結果
可見RACSubject對訂閱前的信號進行了忽略。