gpt4 book ai didi

ios - RxSwift — 不卡住 UI 的后台任务

转载 作者:搜寻专家 更新时间:2023-10-30 23:04:32 25 4
gpt4 key购买 nike

我想在我的 iOS 应用程序的后台线程中做一些繁重的工作,而不是在执行时卡住 UI。我尝试的是:

self.someDisposable = heavyLiftingFuncReturningObservable()
.subscribeOn(ConcurrentDispatchQueueScheduler(qos: .background))
.observeOn(MainScheduler.instance)
.subscribe(
onNext: { [weak self] image in
// update UI
},
onError: { ... }
)

为什么上面没有按预期工作以及如何让它工作?

最佳答案

我认为问题在于您对 .heavyLiftingFuncReturningObservable() 的实现,也就是说,事实上它显然开始在当前线程上工作,而不是等到被订阅并在后台调度程序上运行。解决方案是在 .heavyLiftingFuncReturningObservable() 函数内部使用 .deferred()

参见 http://adamborek.com/top-7-rxswift-mistakes/

关于ios - RxSwift — 不卡住 UI 的后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47202391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com