[RACObserve(self.viewModel, loading) subscribeNext:^(NSNumber *loading){
if (loading.boolValue) {
[SVProgressHUD show];
} else {
[SVProgressHUD dismiss];
}
}];
複製程式碼
繫結loading屬性,YES的時候載入檢視出現,NO的時候家在檢視消失。
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.viewModel.active = YES;
}
-(void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
self.viewModel.active = NO;
}
複製程式碼
有active屬性; 使用這個屬性需要Model繼承自RVMViewModel。
@weakify(self);
[self.didBecomeActiveSignal subscribeNext:^(id x) {
@strongify(self);
[self downloadPhotoModelDetails];
}];
-(void)downloadPhotoModelDetails {
self.loading = YES;
@weakify(self);
[[FRPPhotoImporter fetchPhotoDetails:self.model] subscribeError:^(NSError *error) {
NSLog(@"Could not fetch photo details: %@", error);
} completed:^{
@strongify(self);
self.loading = NO;
NSLog(@"Fetched photo details.");
}];
}
複製程式碼