Vit*_*lov 6 binding mvvm uibutton ios swift
我有以下MVVM架构。这并不是什么特别的事情,只是为了更好地理解。
主要问题是什么:
我需要如何绑定UIButton动作才能在UIViewController.
我尝试按以下方式进行操作:
1)首先,我将属性添加为闭包ViewModel:
var cellButtonActionCallback: (() -> Void)?
Run Code Online (Sandbox Code Playgroud)
2)我为以下添加相同的属性CellViewModel:
var buttonCallback: (() -> Void)?
Run Code Online (Sandbox Code Playgroud)
3)当我设置CellViewModel时:
cellViewModel.buttonCallback = cellButtonActionCallback
Run Code Online (Sandbox Code Playgroud)
4)最后添加目标UIButton,选择器buttonAction也
调用buttonCallback :
button.bind { cellViewModel.buttonAction() }
Run Code Online (Sandbox Code Playgroud)
看起来我定义的闭包UITableViewController经历了所有viewModels这对我来说不是一个好主意。
事实上,这种方法效果很好,但我不喜欢它。
做同样的事情最好的方法是什么?