RACCommand用于网络请求
ViewModel.h文件
#import <Foundation/Foundation.h>
#import <ReactiveCocoa/ReactiveCocoa.h>
@interface ViewModel: NSObject
@property(nonatomic,strong) RACCommand *command;
@end
ViewModel.m文件
#import"ViewModel.h"
@implementationViewModel
-(instancetype)init{
if([superinit]) {
[self.command.executionSignals.switchToLatestsubscribeNext:^(idx) {
NSLog(@"收到-%@", x);
}];
[[self.command.executingskip:1]subscribeNext:^(idx) {
if([xboolValue] ==YES) {
NSLog(@"弹窗显示正在加载网络");
}else{
NSLog(@"取消弹窗显示");
}
}];
};
returnself;
}
-(RACCommand*)command{
if(!_command){
_command= [[RACCommandalloc]initWithSignalBlock:^RACSignal*(idinput) {
NSLog(@"收到执行命令%@",input);
return[RACSignalcreateSignal:^RACDisposable*(id subscriber) {
NSLog(@"正在加载.........");
[subscribersendNext:@"数据"];
[subscribersendCompleted];
returnnil;
}];
}];
}
return_command;
}
@end
#import
@interfaceViewModel: NSObject
@property(nonatomic,strong) RACCommand *command;
@end
#import
@interfaceViewModel :NSObject
@property(nonatomic,strong)RACCommand*command;
@end
#import
@interfaceViewModel :NSObject
@property(nonatomic,strong)RACCommand*command;
@end
#import
@interfaceViewModel :NSObject
@property(nonatomic,strong)RACCommand*command;
@end
#import
@interfaceViewModel :NSObject
@property(nonatomic,strong)RACCommand*command;
@end
#import
@interfaceViewModel :NSObject
@property(nonatomic,strong)RACCommand*command;
@end
![](https://img.haomeiwen.com/i7403773/24de5cfe410b476b.png)
![](https://img.haomeiwen.com/i7403773/8be60f54cb2cfd3f.png)
![](https://img.haomeiwen.com/i7403773/6789c24d2a72d143.png)
网友评论