iOS MVVM的VC跳转

2018-09-13  本文已影响22人  wangyongyue

在这里不再赘述MVVM的定义以及原理,书写方式。
在这里我想分享一些我使用MVVM的时候的一些自己的经验和心得。希望可以帮助到大家。
问题:
viewController 的跳转问题
从 VC_A 跳转到 VC_B 应怎么做,参数如何更好地带到B?
正常跳转/带参数,十分难看,在VC 嵌入过多的数据参数,凌乱不堪,难以维护。
block/delegate 的形式代码参数繁杂,在delegate 和block 都的VC中,看起来像是马蜂窝一样,而且也增加的耦合。

我所写的方式:
不废话看代码来:
消息类为例子

 Message *msg = [[Message alloc]init];
 msg.aid = model.id
  [msg pushVC:self.navigationController];

是的,你没看错。没有看到VC ,平常用惯了VC跳转,传参。
看看Mesage 内部代码

- (void)dealloc{
    NSLog(@"dealloc");
}
- (void)pushVC:(UINavigationController *)nav
{
    
   
    MessageViewController *vc = [[MessageViewController alloc]init];
    [nav pushViewController:vc animated:YES];

}


先看pushVC: 方法,很简单push而已。
VC在做什么呢?VC真正的只在控制V和M了。

上一篇 下一篇

猜你喜欢

热点阅读