博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
经典面试总结1
阅读量:6179 次
发布时间:2019-06-21

本文共 1761 字,大约阅读时间需要 5 分钟。

1.UItableview优化机制:

UItableview一般只会加载显示出来的cell,如果滚动时(上下拉刷新时)将会出现新的cell,首先从缓存池中去取,如果缓存池中没有cell就去重新创建。

2.程序的启动流程:

1、main.m是程序的入口

2、UIApplicationMain()创建应用程序对象,并且为此对象指定委托,检测程序的执行,同时开启事件循环,处理程序接收到的事 件

3、UIApplicationDelegate方法的执行 4、加载window

5、指定根视图控制器 6、在指定的试图控制器中添加控件,实现应用程序界面

1.首先创建uiapplication对象2.创建delegate对象,并且成为uiapplication对象的代理属性3.开启主运行循环:目的是让程序一直运行起来4.加载info.plist文件,判断info.plist文件有没有指定main.stortboard文件,如果指定的话就加载main.stortboard。

3.传值问题:

代理:什么时候使用代理?代理可以用来传值        封装一个控件时经常使用代理,主要是为了程序的扩展性,方便以后维护和升级。另外苹果官方的控件多是使用代理(UItableview,scrollow等)

使用代理时,需要明确对象才可以传值

通知:一般也可以用来传值,更多的时候是通知其他的对象做事情,使用通知不需要管消息的接收者和发送者,通知使用完毕后,记得要移除通知。

是么时候使用通知:一般情况下是两个没有关系的对象,进行交流,这个时候会使用通知(监听网络状态或键盘时可以使用)。

KVC:一般情况下转模型的时候会用到,当碰到一些readonly属性时,可以使用kvc简化步骤。

kvo: 一个对象监听另一个对象属性的值,并且能够发现值的变化,适合任何类型的对象监听另一个对象的改变。只能对属性的变化做出响应,不能对方法和动作做出反应。

block:     是么时候调用:一般也是用来传值,AFN就是使用Block封装的代码,一般的网络请求是异步请求,并不会马上返回数据,表示一个方法不能直接返回数据,而是通过Block回掉,block用来保存一段代码,先把这段代码放到block中,请求成功后直接调用block,完成传值。

使用注意点:1.block保存到模型中,MRC下使用copy修饰(只有通过copy修饰,才能把block放到堆内存中),ARC下可以使用strong和copy修饰,都是为了把block放到堆内存中管理。

4.Controller的几个方法的区别;

loadview:加载view到内存   viewdidload:进一步初始化这些view  内存不足时调用viewdidunload

5. 

 获取项目根路径,并在其下创建一个名称为userData的目录? // 获取根路径
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:];
// 创建文件系统管理器
NSFileManager *fileManager = [[NSFileManager alloc] init];
// 判断userData目录是否存在
if(![fileManager fileExistsAtPath:[NSString stringWithFormat:@"%@/userData", documentsDirectory]]) { // 不存在,创建一个userData目录
[fileManager createDirectoryAtPath:[NSString stringWithFormat:@"%@/userData", documentsDirectory]withIntermediateDirectories:false attributes:nil error:nil];

转载于:https://www.cnblogs.com/liuyang666/p/5235887.html

你可能感兴趣的文章
sql_游标总结 转
查看>>
使用纯css做一个播放器
查看>>
C语言程序设计_zju——第5周编程练习_素数和_念整数
查看>>
前端 搜索样式 html
查看>>
[CF773D]Perishable Roads
查看>>
[POI2008]Mirror Trap
查看>>
P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib (数论—素数 + DFS)
查看>>
2.03_01_Python网络爬虫urllib2库
查看>>
2010年架构师考试知识点整理
查看>>
robot framework测试https接口实例
查看>>
JAVA连接SqlServer2008R2和MySql数据库
查看>>
使用自定义注解+Spring切面 实现日志记录
查看>>
linux历史命令查找快捷方式
查看>>
编译安装zabbix3.2
查看>>
vue根据路由变换,切换导航栏样式
查看>>
GoLang基础数据类型--->字典(map)详解
查看>>
Hadoop基础-HDFS集群中大数据开发常用的命令总结
查看>>
Elastic Stack之Redis集群使用
查看>>
C#编程(十四)----------构造函数
查看>>
Hibernate中cascade和inverse的作用
查看>>