相关疑难解决方法(0)

Combine + SwiftUI中的最佳数据绑定实践?

在RxSwift中,很容易将a DriverObservablein 绑定到a View Model中的某个观察者ViewController(即UILabel)。

我通常更喜欢用其他可观察变量创建的可观察变量建立一个管道,而不是“强制”推送值(例如通过a PublishSubject)。

让我们使用此示例:从网络中获取一些数据后更新aUILabel


RxSwift + RxCocoa示例

final class RxViewModel {
    private var dataObservable: Observable<Data>

    let stringDriver: Driver<String>

    init() {
        let request = URLRequest(url: URL(string:"https://www.google.com")!)

        self.dataObservable = URLSession.shared
            .rx.data(request: request).asObservable()

        self.stringDriver = dataObservable
            .asDriver(onErrorJustReturn: Data())
            .map { _ in return "Network data received!" }
    }
}
Run Code Online (Sandbox Code Playgroud)
final class RxViewController: UIViewController {
    private let disposeBag = DisposeBag()
    let rxViewModel = RxViewModel() …
Run Code Online (Sandbox Code Playgroud)

ios swift rx-swift swiftui combine

10
推荐指数
2
解决办法
1248
查看次数

标签 统计

combine ×1

ios ×1

rx-swift ×1

swift ×1

swiftui ×1