Dire che ho il seguente SwiftRx (2.0.0-beta.4) MVVM situazione:RxSwift MVVM Come impostare View Model With Item Manager?
Ho 4 cose:
- ItemListViewController
- ItemsViewModel
- ItemsManager
- Articolo
ItemsManager ha una funzione chiamata elementi() che restituirà gli articoli in un modo RxSwift osservabile.
ItemsViewModel ha solo bisogno di passare gli articoli per ora. Successivamente, è possibile applicare la logica di visualizzazione su un attributo Articolo per il controllo del View Controller (come visualizzare correttamente una data).
ItemListViewController inserisce gli elementi in una tabella, un articolo per riga.
Un elemento ha 4 attributi (come un identificativo, data, ...) che verranno visualizzati nella cella della riga della tabella.
Come impostarlo in ItemsViewModel e ItemsManager in modo che quando gli articoli vengono aggiunti, rimossi, modificati nel gestore che passano attraverso ItemsViewModel?
Dalla lettura del documentation e guardando la Rx.playground, sembra che la cosa da utilizzare per il momento è un RxSwift PublishSubject < Articolo> o forse un RxSwift mappa che è in qualche modo sottoscritto oggetti del gestore()
Come fare bene?
L'ItemsManager ha qualcosa di simile in questo momento:
func items() -> Observable<Item> {
// placeholder for now
return [Item(identification: "123", content: ""), Item(identification: "456", content:""), Item(identification: "789", content:"")].toObservable()
}
la vista del modello ha questo in esso:
let items = Variable(/* how to subsribe to the items in the manager? */)