RACSubject *subject = [RACSubject subject];
//take指定拿前面的哪几条数据!(从前往后)
// takeLast:指定拿前面的哪几条数据 !!(从后往前) [subject sendCompleted];
// [[subject take:2] subscribeNext:^(id _Nullable x) {
// NSLog(@"%@",x); // 这是 之后打印 1 和 2
// }];
[[subject takeLast:1] subscribeNext:^(id _Nullable x) {
NSLog(@"%@",x);
}];
[subject sendNext:@"1"];
[subject sendNext:@"2"];
[subject sendNext:@"3"];
[subject sendCompleted];
takeUntil
RACSubject *subject = [RACSubject subject];
//标记专用信号
RACSubject *signal = [RACSubject subject];
//take指定拿前面的哪几条数据!(从前往后)
// takeLast:指定拿前面的哪几条数据 !!(从后往前) [subject sendCompleted];
// [[subject take:2] subscribeNext:^(id _Nullable x) {
// NSLog(@"%@",x); // 这是 之后打印 1 和 2
// }];
// [[subject takeLast:1] subscribeNext:^(id _Nullable x) {
// NSLog(@"%@",x);
// }];
//takeUntil :直到标记的信号发送数据的时候结束;
[[subject takeUntil:signal] subscribeNext:^(id _Nullable x) {
NSLog(@"%@",x);
}];
[subject sendNext:@"1"];
[signal sendNext:@"..."];//[signal sendCompleted];
[subject sendNext:@"2"];
[subject sendNext:@"3"];
[subject sendCompleted];
网友评论