iOS面试宝典:MVC架构与网络协议详解
需积分: 9 98 浏览量
更新于2024-09-11
收藏 119KB DOCX 举报
在iOS面试中,面试官常常会考察应聘者对基础理论和实践应用的理解。以下是一些关键知识点的详细介绍:
1. **MVC架构模式**:
- MVC(Model-View-Controller)是iOS开发中常用的架构模式,由模型(Model)、视图(View)和控制器(Controller)三个核心组件组成。模型负责存储和管理应用程序的数据,如游戏中的飞船属性。模型不参与界面显示,而是专注于数据处理。
- 控制器是连接模型和视图的桥梁,它从模型获取数据,并根据数据状态控制视图的更新。控制器通过观察模型的变化来调整视图的行为。
- 视图是用户界面的展示层,它接收控制器的指令来呈现模型中的数据,但没有独立的行为,仅作为控制器的响应式视图。
2. **网络协议端口号**:
- HTTP的默认端口号是80,用于常规网页访问。
- FTP(文件传输协议)有两个常见的端口号:20用于数据连接,21用于控制连接。
- TELNET(远程登录协议)的标准端口是23。
- POP3(邮局协议)用于接收邮件,端口号是110。
3. **frame与bounds的区别**:
- frame表示视图在父视图中的位置和大小,其参照点是父视图的坐标系。
- bounds则是视图自身坐标系中的位置和大小,它反映了视图在屏幕上的实际占用范围,即使父视图大小变化,子视图的bounds可能也会相应调整,而frame可能不会。
4. **UIViewController生命周期方法**:
- UIViewController的生命周期包括多个方法,它们按照特定顺序执行,确保视图的加载、显示和隐藏过程有序进行:
- `-(void)viewDidLoad`:视图刚被加载完成时调用。
- `-(void)viewDidUnload`:视图即将被释放时调用,可以在此处释放非必须的资源。
- `-(void)viewWillAppear:(BOOL)animated`:视图即将显示在屏幕上。
- `-(void)viewDidAppear:(BOOL)animated`:视图已经完全显示在屏幕上。
- `-(void)viewWillDisappear:(BOOL)animated`:视图即将从屏幕上消失。
- `-(void)viewDidDisappear:(BOOL)animated`:视图已经从屏幕上消失。
5. **UITableView的执行流程**:
- 开始时,首先调用`numberOfSectionsInTableView:`方法确定TableView有几个section。
- 接着,`tableView:titleForHeaderInSection:`用于设置每个section的头部标题。
- 然后,`numberOfRowsInSection:`确定每个section中的行数。
- 最后,`tableView:heightForRowAtIndexPath:`定义每个单元格的高度,这直接影响到TableView的布局。
掌握这些知识点不仅有助于理解iOS应用的设计原则,还能在实际编码和面试中表现出扎实的基础和专业素养。复习并熟练掌握这些概念,将大大提高在iOS面试中的表现。
2013-02-03 上传
2018-03-08 上传
2024-03-01 上传
2013-10-29 上传
2016-06-28 上传
2021-03-19 上传
2014-04-16 上传
2016-01-07 上传
2014-12-27 上传
爱吃土豆的程序猿
- 粉丝: 4
- 资源: 3
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载