如何创建仅接收一次信号的ReactiveCocoa订阅者,然后取消订阅/释放自己?

zak*_*ces 17 objective-c reactive-programming ios reactive-cocoa

我目前正在向这样的房产信号注册订阅者:

[RACAble(self.test) subscribeNext:^(id x) {
        NSLog(@"signal fired!");
 }];
Run Code Online (Sandbox Code Playgroud)

默认功能是它每次都会触发self.test被更改,但我只想要触发一次,然后取消订阅.在创建此订阅者时,是否可以将"一次"参数或修饰符传递给RAC?

小智 31

[[RACAble(self.test) take:1] subscribeNext:^(id x) {
    NSLog(@"signal fired!");
}];
Run Code Online (Sandbox Code Playgroud)