微前端架构如何改变企业的开发模式与效率提升
758
2022-10-20
搭建App框架(MVVM+RAC+路由)
HQMVVM_RAC_Router
搭建App框架(MVVM+RAC+路由)
如果喜欢,请给一个小星星。O(∩_∩)O谢谢!
效果
项目的介绍
项目使用了ReactiveCocoa框架,实现了MVVM架构,使用MVVM架构主要目的是分离视图(View)和模型(Model)。
MVVM四大优点:
低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写
项目的搭建
1.搭建项目主框架
2.CocoaPods集成的第三方框架
AFNetworking 网络请求DateTools 日期的相对处理JLRoutes 路由跳转JPFPSStatus 显示屏幕的帧数MBProgressHUD 蒙版MJExtension 字典转模型框架MJRefresh 界面刷新MYLayout 浮动布局ReactiveCocoa 函数响应式编程SDAutoLayout 简单的布局SDCycleScrollVIew 无限循环轮播图SDWebImage 加载图片
3.初步搭建界面
1.初始化项目
- (void)registerRoutes{ HQTabBarController *rootVC = [HQTabBarController tabBarControllerWithAddChildVCsBlock:^(WZXTabBarController *tabBarC) { [tabBarC addChildVC:[HQHomeViewController new] title:@"主页" normalImageName:@"tabar_zhuye2.png" selectedImageName:@"tabar_zhuye.png" isRequiredNavController:YES]; [tabBarC addChildVC:[HQCircleFriendsViewController new] title:@"主页2" normalImageName:@"tabar_tuijian2.png" selectedImageName:@"tabar_tuijiani.png" isRequiredNavController:YES]; [tabBarC addChildVC:[HQHomeViewController new] title:@"中间按钮" normalImageName:@"tabar_suishoupai2.png" selectedImageName:@"tabar_suishoupai.png" isRequiredNavController:YES]; [tabBarC addChildVC:[HQFindViewController new] title:@"朋友" normalImageName:@"tabar_linxin2.png" selectedImageName:@"tabar_linxin.png" isRequiredNavController:YES]; [tabBarC addChildVC:[HQAccountViewController new] title:@"我的" normalImageName:@"tabar_geren2.png" selectedImageName:@"tabar_geren.png" isRequiredNavController:YES]; }]; self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor whiteColor]; self.window.rootViewController = rootVC; [self.window makeKeyAndVisible];// navigation Push规则 [[JLRoutes globalRoutes] addRoute:@"/NaviPush/:controller" handler:^BOOL(NSDictionary
2.路由跳转
-(void)paramToVc:(UIViewController *) v param:(NSDictionary
希望各位大神指出不足的地方,大家共同进步!谢谢。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~