Arquitectura Rx-Swift Clean

Quiero diseñar mi aplicación rápida usando una architecture limpia.

He leído el siguiente enlace sobre architecture limpia para swift

http://clean-swift.com/blog/

He usado estas templates para crear la aplicación.

Quería preguntar si esta es la mejor architecture para usar, ya que quiero codificar usando Rx-Swift.

También agradecería si alguien pudiera señalar algunos ejemplos de trabajo para una architecture limpia con rapidez reactiva.

Está utilizando la architecture limpia de tío Bob para swift ( http://clean-swift.com/blog/ ) una práctica recomendada para RxSwift o debería ir con la architecture MVVM

Cualquier ayuda será apreciada. Gracias.

Hola, estoy usando rxswift con clean architecture recientemente proyecto

En mi caso, los uso en la escena de Perfil, especialmente se ve como Instagram.

introduzca la descripción de la imagen aquí

use el caso de la escena del perfil

  • el usuario debe actualizar la escena del perfil
  • el usuario debe tener la categoría de la foto de oportunidad
  • el usuario debe cargar más fotos como la pagination

El problema es que el usuario puede cambiar la categoría de la publicación rápidamente

Las últimas publicaciones buscadas deben ser diferentes a la categoría seleccionada 🙁

todo evento de evento de evento asincronizado

por lo que uso rxswift

En Interactor tiene profileWorker (para get el perfil y el recuento de publicaciones de la categoría), postWorke (para search publicaciones)

y cree tres rxswift PublishSubject como – rxCategory – rxProfile – rxPosts

Paso es como a continuación

Interactor suscribe rxCategory

Cambio de categoría de la request ViewController a Interactor

Interactor causa el evento rxCategory.on(Event<Category>.next(category))

Interactor utilizando las publicaciones de flatMap de Rxswift flatLatest con la categoría seleccionada para postsWorker

 rxCategory.asObservable().flatMapLatest{ (category) -> Observable<[Posts]> in return self.postsWorker.rxFetchPosts(requestModel, category: category) }.subscribe { (event) in if let posts = event.element { self.updatePosts(posts) } } } 

Solicitante de PostsWorker Observable<[Posts]> a PostService (request al server usando Alamofire y SwiftyJSON )

luego PostService devuelve Observable<Posts> luego el trabajador vuelve al interactor

Interactor suscribe las PostsWorker observables y de actualización de rxPosts , esto causa que el evento rxPosts s rxPosts

Interactor suscribe rxProfile y rxPosts usando combineLatest

y solicite presentar una respuesta combinada al Presentor

 Observable.combineLatest(rxProfile, rxPosts) { (e1, e2) -> ProfileResponse in return ProfileResponse(profile: e1, posts: e2) }.subscribe { (event: Event<ProfileResponse>) in self.output.presentProfile(event.element!) } } 

este es mi ejemplo usando rxswift + clean swift architecture

En esta situación, si el usuario toca la categoría FOOD y el trabajador obtiene muchas publicaciones

y el usuario toque la categoría PLACE y obtenga pequeñas publicaciones y, a veces,

aunque la categoría de usuarios toque usuarios. inputs de comida buscadas después de las publicaciones de la gente

por lo que uso rxswift para que coincida correctamente con la categoría seleccionada utilizando flatMapLatest ReativeX – FlatMapLatest

Esto puede get y presentarse en las Presentor última categoría de Presentor

Rxswift es útil en la architecture MVVM .

pero creo que depende de ti cómo puedes usarlos

gracias por leer 🙂