iOS MVVM+RAC 自我理解
2016-09-21 本文已影响181人
慧惠
1、MVVM的大体方向
关于mvvm的由来,笔者认为:
model(M)
view:viewcontroller一同完成了界面的Ui的逻辑控制(V)
viewmodel(VM)
2、MVVM实践
a、骨架
b、衔接
//AppDelegate.m
@property (nonatomic, strong) ModelServices *services;
@property (nonatomic, strong) NavStack *navStack;
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.services = [[ModelServices alloc] init];
self.navStack = [[NavStack alloc] initWithServices:self.services];
//TabBarviewModel是MYRootTabBarController的viewModel,包含了tatbar中每个tab的viewModel
TabBarviewModel * tabBarviewModel = [[TabBarviewModel alloc] initWithVCName:@"MYRootTabBarController"];
tabBarModel.hiddenNavBar = YES;
MYRootTabBarController *tabBarController = [[MYRootTabBarController alloc] initWithViewModel:tabBarModel];
self.rootVC = [[MYNavigationController alloc] initWithRootViewController:tabBarController];
[self.navStack pushNavigationController:self.rootVC];
self.window.rootViewController = self.rootVC;
}