自分へのメモ書きとして投稿
MVP
Model View Presenter
Presenterがデータを保持する。
ViewControllerはPresenterの値を取得・利用する。
PresenterがViewControllerの参照を保持する。
それにより、データ更新が終わったときに保持したViewControllerの更新メソッドを呼ぶことで変更を反映できる。
MVVM
Model View ViewModel
ViewModelがデータを保持する。
ViewControllerへのデータ変更の反映は、バインドしたViewModelから行う。
変数へ値をセットした時にdidSetが呼ばれ、バインドされているViewControllerのメソッドが呼ばれることで、
データ更新を反映できる。