# MVVM and Value types

**URL:** <https://forums.kodeco.com/t/mvvm-and-value-types/16741>\
**Category:** iOS\
**Created:** [June 30, 2016, 11:01am UTC](https://forums.kodeco.com/t/mvvm-and-value-types/16741 "2016-06-30T11:01:59Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![bartzy](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/bartzy/32/45491_2.png) [@bartzy](https://forums.kodeco.com/u/bartzy)\
**Post date:** [June 30, 2016, 11:01am UTC](https://forums.kodeco.com/t/mvvm-and-value-types/16741/1 "2016-06-30T11:01:59Z")

</div>

Hi,

I have a general question regarding MVVM and the recent Value Types “craze” in Swift (even promoted heavily by Apple in WWDC 2015 & 2016, seems justifiable).

How do they fit together? To my understanding, and how I do MVVM, is by having one source of truth - the model layer (classes), which update the VMs (classes too) by binding (via RxSwift or RAC for example), which updates the VC/View layer in turn.

By using value types, even only in the model -where does that source of truth lie? How do you even update a model in one VM, which causes another subscribed VM to the same model to update?

It seems to me that the entire MVVM architecture does not fit Value Types.

Thanks!
