Je souhaite afficher la date en tant que titre de section et regrouper les messages selon leur date. Je souhaite utiliser la bibliothèque RxDatasource et avoir du mal à créer SectionModel pour alimenter directement la source de données.Comment transformer GroupedObservable <String, Message> en SectionModel <String, Message> en utilisant l'opérateur Groupby de RxSwift?
let source = sut.results.asObservable().map { result -> Observable<Message> in
switch result {
case .success(let messages):
return Observable.from(messages)
default:
break
}
return Observable.from([Message]())
}
.flatMap { $0 }
let group = source.groupBy { $0.date.dateOnly }
group.subscribe(onNext: {
print($0)
}).disposed(by: disposeBag)
Ci-dessous est la sortie que je reçois dans le journal:
GroupedObservable<String, Message>(key: "2017-01-01", source: RxSwift.(GroupedObservableImpl in _FBBDBB31E5DDAA1ED24286DA8D9FFB1F)<Swift.String, Tacos.Message>)
GroupedObservable<String, Message>(key: "2017-01-02", source: RxSwift.(GroupedObservableImpl in _FBBDBB31E5DDAA1ED24286DA8D9FFB1F)<Swift.String, Tacos.Message>)
Je ne suis pas en mesure de trouver le moyen de transformer GroupedObservable<String, Message>
=>Observable<SectionModel<String,Message>>
Le JSON qui est converti en Message
est comme dans l'image: json description here
toArray() ne fonctionne que s'il obtient l'événement Terminé – ahsumra