gpt4 book ai didi

objective-c - 取消 RAC 命令执行

转载 作者:行者123 更新时间:2023-12-03 17:11:36 27 4
gpt4 key购买 nike

有什么方法可以取消RACCommand的执行吗?

例如,我有一个具有无限执行信号的命令,如下所示:

RACCommand *command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
__block BOOL stop = NO;

while (!stop) {
[subscriber sendNext:nil];
}

return [RACDisposable disposableWithBlock:^{
stop = YES;
}];
}];
}];

那么在调用[commandexecute:nil]后如何停止它?

最佳答案

我对 RACCommand 有点陌生,所以我不确定是否有更好的方法来做到这一点。但我一直在使用 takeUntil: 和取消信号来停止执行。

RACCommand *command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
while (true) {
[subscriber sendNext:nil];
}
}] takeUntil:cancellationSignal];
}];

关于objective-c - 取消 RAC 命令执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23784097/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com