我使用以下設置從API中檢索對象(例如GitHub問題)。這工作正常。現在使用RxSwift定期更新
let provider: RxMoyaProvider<GitHub>
let issues: Driver<[IssueViewModel]>
init(provider: RxMoyaProvider<GitHub>) {
self.provider = provider
issues = provider.request(.Issue)
.mapArray(Issue.self, keyPath: "issues")
.asDriver(onErrorJustReturn: [])
.map { (models: [Issue]) -> [IssueViewModel] in
let items = models.map {
IssueViewModel(name: $0.name,
description: $0.description
)
}
return items
}
}
我想定期更新的問題(例如,每20秒)的列表。我想到了一個NSTimer
來完成這項任務,但我想可能有一個我沒有考慮的乾淨(呃)解決方案(即以Rx方式)。
任何暗示正確的方向是高度讚賞。
這太好了,謝謝!鑑於.Issue需要一個參數(例如'.Issue(id:issueId)'),如何在'flatMapLatest'中引用這個參數('issueId'是一個存儲屬性)? – tilo
在塊中使用'.flatMapLatest {[weak self] _in',然後使用'self?.issueId'。 – solidcell
完美,非常感謝! – tilo