有人可以解释一下在项目中包含Storyboard时如何实现MVVM模式吗?
在许多示例中,我看到我必须使用.xib
文件。并像这样初始化
视图控制器
:
-(instancetype)initWithModelView:(ViewModel *)viewModel{
self = [super init];
if(self){
_viewModel = viewModel;
}
return self;
}
但是使用Storyboard时,我无法
init
viewControllers
,Storyboard会为我完成这个过程。
我应该使用属性吗?
例如:UINavigationController *nav = (UINavigationController *)[self.viewControllers objectAtIndex:0];
HomeViewController *hvc = (HomeViewController *)[nav.viewControllers objectAtIndex:0];
hvc.viewModel = viewModel;
self是UITabBarController
。
viewModel
属性需要隐式解包? - George Marmaridis),但是他们通过显式解包可选项在
prepareForSegue`中提供参数。 - Anton