zoukankan      html  css  js  c++  java
  • 经典面试总结1

    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];
  • 相关阅读:
    3星|《失败课》:投资人写给创业者的经验谈,有点标题党
    3星|《给你一门人工智能入门生意经》:机器所知胜于其所能言传
    3星|《财经》2018年第5期:西伯利亚冻土层的猛犸象牙是合法的,一根能卖到数万美元
    3星|《增长黑客》:增长黑客是一个牵强的概念
    2星|《只管去做》:做年度计划的入门级介绍,信息浓度太低
    创业者融资过程中需要了解的大坑小坑:《风投的技术》,4星
    4星|吴军《见识》:李开复上级的工作经验、投资经验与人生忠告
    4星|《基因转》:从孟德尔、达尔文到人类胚胎转基因
    3星|《人机平台》:数字化时代的三大类新的再平衡:人脑与机器、产品与平台,以及核心与大众
    3星|《知识的边界》:知识存在于网络中,分歧永远存在
  • 原文地址:https://www.cnblogs.com/liuyang666/p/5235887.html
Copyright © 2011-2022 走看看