IOS开发之MVC模式的介绍
2019独角兽企业重金招聘Python工程师标准>>>
一.MVC模式(面试常问的)
M: Model(专门负责存储数据的类)
V: View (专门用来展示数据)
C: Controller (专门用来控制视图显示数据)
iOS程序采用MVC设计模式为基础设计模式。即一个程序的构成,由模型,视图,控制器构成
模型(M):非UI部分,数据的储存与管理
视图(V):UI部分,用于显示界面,与用户交互,包括接收触发事件,显示数据内容
控制器(C):本身不显示,用于管理和模型;将视图部分和模型部分链接起来。原则上视图不能直接访问数据。
【注】使用MVC架构,视图不直接访问数据,以便于修改,降低开发和维护成本。
二.视图控制器
//应用程序中每一个界面都是一个视图控制器,视图控制器本身不可见,能在每个界面上看到的内容,全部都是直接或者间接添加到视图控制器的view属性上的.
UIViewController 看不见的,但是每个Controller都一个View属性
1.生命周期
这里所谓的生命周期,指视图从加载到销毁所调用的方法及其调用顺序
//加载视图
//在这个方法中一般去自定义一个view,但是一般情况这个方法一般不会使用
//第一次创建的时候会调用
- (void)loadView
//视图加载完成
//在这儿添加各种子视图
//第一次创建的时候会调用
- (void)viewDidLoad
//视图即将出现在屏幕上
//每次视图控制器的view将要出现的时候都会调用
- (void)viewWillAppear:(BOOL)animated
//视图已经出现在屏幕上
//每次视图控制器的view已经出现的时候都会调用
- (void)viewDidAppear:(BOOL)animated
//视图即将消失
//传值和保存数据
//每次视图将要消失的时候都会调用
- (void)viewWillDisappear:(BOOL)animated
//视图已经消失
//每次视图已经消失的时候都会调用
- (void)viewDidDisappear:(BOOL)animated
//收到内存警告
//内存警告可以通过模拟器来模拟;
- (void)didReceiveMemoryWarning
转载于:https://my.oschina.net/luhoney/blog/657633
IOS开发之MVC模式的介绍相关推荐
- iOS开发之Xcode常用调试技巧总结
转载自:iOS开发之Xcode常用调试技巧总结 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题.平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼.Debug的技巧很多,比如最 ...
- iOS开发之Objective-C(面试篇)-李飞-专题视频课程
iOS开发之Objective-C(面试篇)-132人已学习 课程介绍 这个系列,我会选取实际面试过程中会问到的难点问题.几乎都是在面试大公司或者技术要求比较高的公司会问到的问题.希望 ...
- iOS开发之UI开发(UITableView)
UITableView 继承自UIScrollView,性能极佳 UITableView的两种样式 UITableViewStylePlain列表样式 UITableViewStyleGrouped ...
- (0045) iOS 开发之MBProgressHUD 源码学习
(0045) iOS 开发之MBProgressHUD 源码学习 第一部分:学习所得和分析线程 1. 学习到了kvo 的使用 和屏幕方向的旋转判断. 2. 如果调起这个 HUD 的方法不是在主线程调 ...
- 李洪强iOS开发之RunLoop的原理和核心机制
李洪强iOS开发之RunLoop的原理和核心机制 搞iOS之后一直没有深入研究过RunLoop,非常的惭愧.刚好前一阵子负责性能优化项目,需要利用RunLoop做性能优化和性能检测,趁着这个机会深入研 ...
- ios html清除缓存,iOS开发之1行代码实现缓存计算及清除缓存
话不多说,直接撸代码 // // gzhCache.h // cache // // Created by 郭志贺 on 2020/5/27. // Copyright © 2020 郭志贺. All ...
- iOS开发之Accounts框架详解
2019独角兽企业重金招聘Python工程师标准>>> iOS开发之Accounts框架详解 Accounts框架是iOS原生提供的一套账户管理框架,其支持Facebook,新浪微博 ...
- iOS开发之ARC(自动引用计数)
iOS开发之ARC(自动引用计数) 英文原文:Automatic Reference Counting on iOS 参与翻译(4人): 纶巾客, showme, 李远超, 王宇龙 自动引用计数(AR ...
- iOS开发之Objective-C(中级篇)-李飞-专题视频课程
iOS开发之Objective-C(中级篇)-307人已学习 课程介绍 该系列课程详细的讲解了iOS开发过程中的常用知识点及难点.在此基础上面,还扩充讲解了数据库的和H5的知识.如果能 ...
最新文章
- Java值类型与引用类型的不同
- hadoop 2.2.0 终于编译ok了
- 【Flutter】Flutter 页面生命周期 ( 初始化期 | createState | initState | 更新期 | build | 销毁期 | dispose)
- Django框架(10.Django中的模型类的定义以及模型类字段属性和选项)
- WebRTC:应用中最大难点在于根据业务需求的适当折中
- html的table弹窗_Js弹出基于Table的可关闭浮动层
- 09年3月编程语言排行榜:Visual Basic与PHP的暗战
- 米莱迪机器人加物理攻击_王者荣耀:“不死流”白起崛起,秒回8500血完克米莱迪...
- JavaScript学习(八十三)—JavaScript书写位置、注释、以及输入输出语句
- Android学习系列(一)初识安卓
- 【Robot Framework】字符串判断,if语句多执行条件,多执行语句
- 虚拟计算机累加乘法,乘法指令之: MLA乘-累加指令
- 十八新娘八十郎,苍苍白发对红妆。鸳鸯被里成双夜,一树梨花压海棠。
- CFS任务放置代码详解
- 查看电脑ip地址、查看手机ip地址、根据域名查看ip地址
- 腾讯AI Lab招聘实习生(内推)
- Android Camera高级特性——手动对焦
- 利用systemstate dump trace文件寻找dg terminated原因
- 00截断上传绕过_上传绕过总结
- 目标感强的人究竟有多厉害,我们采访了100位牛人
热门文章
- poj 3260 The Fewest Coins(多重背包+完全背包)
- 【线程】——线程的启动和中断
- infopath转换html,Microsoft Tools to Save InfoPath Forms as HTML
- 在大厂工作5年的大神,给前端初学者的四大建议,收藏咯
- 固定ip_1分钟学会查看跨境卫士费用和选择固定IP
- php下载数组里的图片,php 读取txt文件中的内容,转换成数组,根据URL将图片下载到本地(curl爬取)...
- android 距离设置多少dp核实,【Android学习】android布局中几个距离单位的区别:px、dp、sp...
- python 输入一行、加密y变成a_下面程序实现如下功能:输入一行字母将字母加密输出(a变成c,b变成d, 一直到z变成b)...
- WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard Aboba
- 33 计算机维修,33.计算机硬件检测维修与数据恢复竞赛规程(修改)全解.doc