iOS面试题-iOS部分_9347481解读.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS面试题-iOS部分_9347481解读

iOS部分理论:1.描述什么是MVC【MVC简介】是一种架构模式,它是苹果非常热衷的一种架构模式M: model 模型 保存所有应用程序里要使用的数据,比如一款太空大战游戏,模型要负责保存飞船的大小、飞行速度、位置信息、装载了多少只枪等等这些信息。并且要处理数据之间的逻辑 比如飞船要打中敌机多少次能把敌机击落模型只是负责记录数据,跟数据的显示是没关系的,数据的显示是控制器跟视图的任务C: controller 控制器 负责控制视图如何去显示模型里要显示的数据 它要负责把模型里的数据传输给视图(控制器是通过视图控制器的【生命周期】来控制视图变化的)V:view 视图 视图就是视图控制器的小跟班,它的任务就是负责显示视图,完全听命于视图控制器,视图控制器让视图做什么视图就做什么2.列举常用网络协议的端口号,例如HTTP默认的是80FTP 文本传输协议 20或21TELNET 远程登录协议 23POP3 发邮件协议 1103、frame与bounds的区别?Bounds的大小改变frame改变吗答:frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)bounds指的是:该view在本身坐标系统中的位置和大小。(参照点是本身坐标系统)会发生改变4、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:section1是否有表头标题栏tableView:numberOfRowsInSection:设置section1中行数tableView:heightForRowAtIndexPath:设置section1中row1行的高度……row2行的高度……逐行设置,直至当前section1属性设置完毕tableView:titleForHeaderInSection:section2是否有表头栏,之后同4-5,设置section2的属性.同理,设置完毕所有的section的相关属性tableView:cellForRowAtIndexPath:接下来设置的是每个section中每row添加的数据这样整个TableView就设置完毕了. 6、如何设计一个可变高度(根据内容自适应高度)的UITableViewCell 答:1) 创建并添加一个UILabel作为单元格cell的子视图;2) 在UITableView的委托方法: (CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath: (NSIndexPath *) indexPath中计算高度3) 在UITableView的委托方法: (UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath: (NSIndexPath *) indexPath中计算UILabel的框大小。7、UIView的圆角属性设置方法答:利用setCornerRadius:8. UIVIiewController在现实过程中,各个方法的调用顺序init-viewDidLoad-viewDidAppear-viewDidUnload9.对于语句NSString *obj = [[NSData alloc]init],obj在编译时和运行时分别是什么类型的对象?答:编译时为NSString类型,运行时为NSData类型。10.object-c中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码,方法又是什么?答:a、线程创建有三种方法:使用NSThread创建(detachNewThreadSelector:toTarget:withObject:)、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;b、在主线程执行代码,方法是performSelectorOnMainThread,c、如果想延时执行代码可以用perf

文档评论(0)

22ffbqq + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档