我在我的项目中将ReactiveCocoa和KVNProgress混合使用,结果出现各种线程问题。KVNProgress经常结束不掉,然后界面就卡死在那里了。
代码如下:
@weakify(self);
[RACObserve(self.viewModel, isFetching) subscribeNext:^(NSNumber * isFetching) {
@strongify(self);
if ([isFetching boolValue]) {
if (self.viewModel.fetchingMessage)
dispatch_async(dispatch_get_main_queue(), ^{
[KVNProgress showWithStatus:self.viewModel.fetchingMessage];
});
} else {
dispatch_async(dispatch_get_main_queue(), ^{
[KVNProgress dismiss];
});
}
}];
[RACObserve(self.viewModel, error) subscribeNext:^(NSString * error) {
if (error)
dispatch_async(dispatch_get_main_queue(), ^{
[KVNProgress showErrorWithStatus:error];
});
}];
[RACObserve(self.viewModel, success) subscribeNext:^(NSString * success) {
if (success)
dispatch_async(dispatch_get_main_queue(), ^{
[KVNProgress showSuccessWithStatus:success];
});
}];
我每个KVNProgress都是在main线程里面跑的,结果还是出现context不一致KVNProgress结束不掉的情况。
请教一下各路大神这个情况怎么解决?