ReactiveViewModel icon indicating copy to clipboard operation
ReactiveViewModel copied to clipboard

Document how we do MVVM

Open jspahrsummers opened this issue 11 years ago • 7 comments

Especially how hierarchies work and line up to the view and model layers (or don't).

jspahrsummers avatar Jul 01 '13 07:07 jspahrsummers

This would be most excellent.

+@jwilling +@CodaFi

paulyoung avatar Jul 12 '13 03:07 paulyoung

:+1: for description. Most interesting aspect for me - how screen transition performed, who sit above the view-models. I practicing writing MVVM-like code little more than half of last year, so I want to look how another people will implement it, and have some reliable source for answering: "Why you do this?". :)

oleksii-demedetskyi avatar Aug 21 '13 17:08 oleksii-demedetskyi

On this note, I'd love to see some sample app written MVVM style also!

tonyxiao avatar Oct 21 '13 08:10 tonyxiao

I would love to see some real-world examples of MVVM in use, as well as how to appropriately test the various components. :+1: from me as well.

tonyarnold avatar Nov 06 '13 03:11 tonyarnold

If anyone is interested, I have started building a small demo app (https://github.com/DuneParkSoftware/RAC_MVVMDemo) to explore the MVVM pattern with RAC on iOS. I am fairly new to MVVM and RAC. If you check out the code and notice that I'm doing something inefficiently (or just plain wrong), please make a pull request.

So far, I have a singleton object that "does some work" in the background. Meanwhile, a view model watches the singleton's property and converts it for the view controller. The view controller, in turn, updates the display.

There is also a RACCommand on the view model that is bound to the view, and simulates sending next/error/complete signals based on the singleton's state.

In the past, I have experienced issues with the viewModel not being released when its owning viewController is discarded. Therefore, the code is liberally commented with NSLog's so I can make sure the viewModel gets dealloc'd properly and doesn't leak.

I'm not certain that I'm using the RVMViewModel active property and signals correctly. Also, I don't understand how the forwardSignalWhileActive: and throttleSignalWhileInactive: signals are meant to be used.

DuneParkSoftware avatar Jan 02 '14 20:01 DuneParkSoftware

I've also gone ahead and opened an app that uses this repo: https://github.com/AshFurrow/C-41 Pull requests welcome :)

Not sure how it relates to how you do MVVM, but if it's similar I wouldn't mind writing the documentation for it for this repo. Let me know.

ashfurrow avatar Jan 02 '14 21:01 ashfurrow

I also have an example project at jspahrsummers/GroceryList.

jspahrsummers avatar Jan 03 '14 19:01 jspahrsummers