我正在使用RxSwift和SwiftUI构建iOS应用。我对这些框架是完全陌生的,因此我正在关注一些教程,但是我很难确定如何设置结合SwiftUI的Observer,而我想一直更新我的UI,只要{{1 }}事件列表已更新,这是我在用户界面中得到的内容:
BehaviorRelay
问题是,显然,在关闭结束后,import SwiftUI
import RxSwift
struct EventsTableView: View {
private let observer: EventsTableObserver = EventsTableObserver()
init() {
observer.setObserver()
EventViewModel.getAllEvents()
}
var body: some View {
List{
ForEach(observer.events_view,id: \.id) { event in
HStack {
Text(event.title)
}
}
}
}
}
class EventsTableObserver {
private let disposeBag = DisposeBag()
var events_view = [Event]()
func setObserver(){
EventGroup.shared.events.asObservable()
.subscribe(onNext: {
[unowned self] events in
self.events_view = events
})
.disposed(by: disposeBag)
}
}
并没有按照我的意愿保留存储的事件值,即使事件正在更新中。有人可以给我指示吗?