iOS面试宝典:MVC架构与网络协议详解

需积分: 9 7 下载量 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面试中的表现。