为什么要编写轻量级的View Controller??

1、作为iOS项目中最大的文件,ViewControllers中的代码复用率几乎是最低的
2、重量级的View COntroller加大了测试的复杂度。
所以关注ViewController的瘦身,把业务逻辑、网络请求、Views的代码移到合适的地方,进而提高代码可读性、降低耦合、提高复用、降低测试难度极为重要
一、把DataSource和其他Protocols分离出来
比如uiTableView中的DataSource大多都是对数组做的一些操作,可以把数组操作相关的代码移到单独的类中。可以使用block或者delegate来设置一个cell。
二、把业务逻辑、网络请求逻辑移动到Model中
业务逻辑类的代码要放到Model对象中。但是对于不能轻易移动到Model对象中,但是和Model代码相关的,我们可以创建一个Store类
Store被称为服务层或者仓库,主要关心的是数据加载、缓存和设计数据栈
网络请求逻辑也要移动到Model层中,不要在ViewController中做网络请求的逻辑。你应该把网络请求封装到一个类中。这样你的ViewController就可以在之后通过回调函数来请求网络了。

为什么要编写轻量级的View Controller??

时间: 2024-11-09 01:51:08

为什么要编写轻量级的View Controller??的相关文章

0521.如何拆分View Controller进而实现轻量级的View Controller[UIKit]

参考文章来自objcio网站 为什么要编写轻量级的View Controller?? 1.作为iOS项目中最大的文件,ViewControllers中的代码复用率几乎是最低的 2.重量级的View COntroller加大了测试的复杂度. 所以关注ViewController的瘦身,把业务逻辑.网络请求.Views的代码移到合适的地方,进而提高代码可读性.降低耦合.提高复用.降低测试难度极为重要 一.把DataSource和其他Protocols分离出来 比如uiTableView中的DataS

怎样拆分View Controller进而实现轻量级的View Controller[UIKit]

參考文章来自objcio站点 ? 为什么要编写轻量级的View Controller?? ? 1.作为iOS项目中最大的文件,ViewControllers中的代码复用率差点儿是最低的 2.重量级的View COntroller加大了測试的复杂度. ? 所以关注ViewController的瘦身.把业务逻辑.网络请求.Views的代码移到合适的地方.进而提高代码可读性.减少耦合.提高复用.减少測试难度极为重要 ? 一.把DataSource和其它Protocols分离出来 ? ? 比方uiTab

自定义View Controller转换动画

原文链接 : Introduction to Custom View Controller Transitions and Animations 原文作者 : joyce echessa 译文出自 : 开发技术前线 www.devtf.cn 译者 : kmyhy 观察 iOS 自带的 App,你会看到当你从一个视图导航到另一个视图时总是会显示各种各样的转换动画,以"主-从"视图为例(类似的程序有Messages App或者系统设置程序),一个轻扫动作能够让详情视图呈现在主视图之上,在呈

Application tried to present a nil modal view controller on target “Current View Controller”解决方案

情景再现 1,自定义一个storyboard: 打开xcode,按下cmd+N,新建一个Storyboard--->next 将新建立的storyboard命名为:TestViewController--->create 在TestViewController.storyboard上加上一个label,其text为:Hello-ios 2,编写UIButton的UIControlEventTouchUpinside事件: - (IBAction)btnClick:(id)sender { //

【IOS笔记】View Controller Basics

View Controller Basics   视图控制器基础 Apps running on iOS–based devices have a limited amount of screen space for displaying content and therefore must be creative in how they present information to the user. Apps that have lots of information to display

M2在奋斗之ios开发--View Controller pragramming guide for IOS中文版

About View Controllers 视图控制器是应用程序数据和其视觉外形之间的一个至关重要的链接.无论何时,应用程序显示一个用户界面,其显示的内容都是由一个或一组互相合作的视图控制器管理.因此,视图控制器给你建立的应用程序提供了骨架. iOS提供了很多内置的视图控制器类来支持标准用户界面块(piece),比如导航和标签栏.作为开发应用程序的一部分,你还可以实现一个或多个自定义控制器来显示应用程序的特定内容. 概述 在模型-视图-控制器(MVC)设计模式里,视图控制器是传统的控制器对象,

iOS架构师之路:控制器(View Controller)瘦身设计

前言 古老的MVC架构是容易被iOS开发者理解和接受的设计模式,但是由于iOS开发的项目功能越来越负责庞大,项目代码也随之不断壮大,MVC的模糊定义导致我们的业务开发工程师很容易把大量的代码写到视图控制器中,行业中对这种控制器有个专业词汇Massive ViewControler(臃肿的视图控制器).代码臃肿导致可读性可维护性差,而且这种不清晰的设计还有许多的副作用,比如代码重用性差.作为架构师需要关注项目的代码质量.指导业务开发工程师写出高质量,高健壮性,高可用的代码也是很重要的工作.因此需要

ZK Spring 整合View/Controller层属性注入

问题场景 ZK实例化的View/Controller不同于Spring MVC实例化的Controller,不受Spring管理,无法进行注入. 解决方案 方法一 在doAfterCompose方法中调用SpringUtil提供的获取bean的方法,给bean赋值,代码如下: userService = (UserService) SpringUtil.getBean("userService"); 方法二 在doAfterCompose方法中调用Spring的自动注入方法进行所有be

设置view controller到iPhone或者iPad模式

在写iOS程序时,view controller的显示大小以及控件大小的调节是在是一个费力的事,尤其是对于用mac本的童鞋,更难驾驭,这时我们可以根据需要设置专门针对iphone或者ipad的view controller的大小,可以修改设置项“Use Size Classes": 当选中时:view controller能同时适用iPhone和ipad的尺寸 未选中时:有提示框来指导是用iPhone的尺寸还是ipad得尺寸,运行时会根据选择的simulator变化