gpt4 book ai didi

swift - RxSwit - 来自可观察忽略错误的驱动程序

转载 作者:可可西里 更新时间:2023-11-01 00:56:31 25 4
gpt4 key购买 nike

假设我有一些最初填充了一些数据的 View 。然后我通过网络获取数据并想用这个更新的数据更新 View 。

在这一点上,我想从这个 observable 创建 Driver 来驱动 UI 元素。但是,如果 observable 出现错误,我不想做任何事情,因为 View 已经有一些数据,所以我只想忽略这样的错误。 asDriver() 函数想要定义在出现错误时应该做什么。这样做可以吗:

let dataUpdated: Observable<DataItem> = ...

let driver = dataUpdated.asDriver(onErrorDriveWith: Driver<DataItem>.empty())

?

最佳答案

正如建议的那样,解决方案可能是使用 .filter()。我想这样的事情会解决你的问题:

extension Observable {
func asDriverIgnoringErrors() -> Driver<E> {
return self.map { $0 as E? }
.asDriver(onErrorJustReturn: nil)
.filterNil()
}
}

关于swift - RxSwit - 来自可观察忽略错误的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46234386/

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