首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【iOS 开发】ViewController 减负记录

前言 最近在重构一个以前写的老项目,在尝试给之前的 ViewController 减负,尽量抽离代码到其他文件。...---- 整合常量 以前喜欢在 ViewController 的顶部(class 外面)写一些全局变量,这样虽然可以写一次创建的代码,就可以在整个项目的任意地方使用。...但是,基本上你不可能只有一个 ViewController,有了这种习惯之后,会让全局变量没有逻辑地分散在不同的代码文件里,不易于管理(甚至可能会出现同一个东西以不同的名字被创建了多次的情况),而且代码可读性会严重降低...所以如果想要从之前臃肿的 ViewController 里面抽离到代码到新的类,一定要注意 Model 的命名问题。...比如说我现在要清理缓存,清理缓存这种事情应该说和当前的 ViewController 是没什么耦合性可言的,完全可以把这部分代码剥离出来,那么如果这时候我根据清理的具体内容不同,抽象出了三个函数: func

63710

View Controller编程指南

有两种类型的ViewController: 内容ViewController管理你的应用程序内容的一个离散片段,是创建的ViewController的主要类型。...容器ViewController收集来自其他ViewController(称为子ViewController)的信息并以便于导航的方式呈现或以不同方式呈现这些ViewController的内容。...内容ViewController自己管理其所有View。 容器ViewController管理其自己的View以及来自其一个或多个子ViewController的root view。...呈现ViewControllers 呈现ViewController会将当前ViewController的内容替换为新ViewController的内容,通常会隐藏前一个ViewController的内容...在呈现ViewController时,UIKit会在呈现ViewController和呈现的ViewController之间创建一个关系,如图所示。

1.2K20

iOS 中block结构的简单用法 原

注意:根据这个机制,如果我们将block用来传值,在block不用时,务必要置为nil,而在实现block的方法里,务必要释放;我们通过代码来解释: 首先,创建三个ViewController,为ViewController1...,ViewController2,ViewController3; 1、在ViewController1中创建一个按钮,跳转ViewController2 2、在ViewController2中: #import... "ViewController2.h" #import "ViewController3.h" @interface ViewController2 () {      UIButton * im;...中: #import "ViewController3.h" void (^myBlock)(); @implementation ViewController3 -(void)setBlock:(void...不被释放,原因是其成员变量im被block中retain没有释放,我们这样做: @interface ViewController2 () {     UIButton * im;     ViewController3

55630
领券