Wuj*_*ujo 4 swift rx-swift rx-cocoa
假设我有一些视图最初填充了一些数据。比我通过网络获取数据并想用这个更新的数据更新视图。
在这一点上,我想从这个 observable 创建 Driver 来驱动 UI 元素。但是,如果 observable 出现错误,我不想做任何事情,因为视图已经有一些数据,所以我只想忽略这样的错误。asDriver() 函数想要定义在出现错误时应该做什么。这样做可以吗:
let dataUpdated: Observable<DataItem> = ...
let driver = dataUpdated.asDriver(onErrorDriveWith: Driver<DataItem>.empty())
Run Code Online (Sandbox Code Playgroud)
?
小智 5
正如所建议的,解决方案可能是使用.filter(). 我想这样的事情会解决你的问题:
extension Observable {
func asDriverIgnoringErrors() -> Driver<E> {
return self.map { $0 as E? }
.asDriver(onErrorJustReturn: nil)
.filterNil()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2383 次 |
| 最近记录: |