【发布时间】:2016-05-25 20:04:15
【问题描述】:
在我的 OS X 状态栏应用程序中,我使用interval 函数定期调用外部 api 并显示结果:
Observable<Int>
.interval(120.0, scheduler: MainScheduler.instance)
.startWith(-1) // to start immediately
.flatMapLatest(makeRequest) // makeRequest is (dummy: Int) -> Observable<SummaryResponse?>
.subscribeNext(setSummary)
.addDisposableTo(disposeBag)
但是,如果用户同时更改了首选项,我想“重新启动”此间隔并立即拨打新电话以反映更改(无需等待下一次电话)。
最好的方法是什么?
- 将 observable 存储为属性并将其设置为
nil或在其上调用.dispose()(或两者)并创建一个新的 observable ? - 将
disposeBag设置为nil并创建一个新的可观察对象? - 还有其他方法吗?
【问题讨论】: