RACCommand是ReactiveCocoa中用于表示UI操作的一个类。它包含一个代表了UI操作的结果的信号以及标识操作当前是否被执行的一个状态。
1.创建新的RACCommand
self.executeSearch = [[RACCommand alloc] initWithEnabled:validSearchSignal
signalBlock:^RACSignal *(id input) {
return [self executeSearchSignal];
}];
2.控件里封装好的RACCommand
3.执行开始时的信号
[self.viewModel.executeSearch.executionSignals subscribeNext:^(id x) {
[self.searchTextField resignFirstResponder];
}];
4.正在执行的信号
RAC(self.loadingIndicator, hidden) = [self.viewModel.executeSearch.executing not];