一般 OOP 常见的一步,网络请求,获取数据,刷新 UI
使用 RxSwift, 这一步,可拆分成两步,
网络请求,获取数据,是一步
刷新 UI,是第二步
多个控制器,有同样的网络请求,去做数据共享与同步
的场景下,有用
采用通知:
去做一个网络请求,刷新界面。
这样的指令会有两条
NotificationCenter.default.rx.notification(.readNetRequest)
.takeUntil(self.rx.deallocated)
.subscribe(onNext: { [weak self] ( noti ) in
guard let `self` = self else { return }
self.doReadNetRequestAndDoRefreshUI()
}).disposed(by: rx.disposeBag)
复制代码采用 RxSwift:
去请求一次网络,订阅了的界面去刷新
比起用通知,网络请求少了一次。
NetMangerPublisher.f.outputStudy.subscribe(onNext: { (data) in
self.doRefreshUI()
}).disposed(by: rx.disposeBag)
复制代码
读操作的网络请求,体现较少。写操作的网络请求,体现明显