ReactiveCocoa线程问题。

发布于 2022-09-02 12:58:31 字数 1116 浏览 11 评论 0

我在我的项目中将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结束不掉的情况。
请教一下各路大神这个情况怎么解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文