iOS面试题锦集(五)——UI控件

作者: KyneChen | 来源:发表于2016-09-06 15:45 被阅读332次

    1. 怎么解决缓存池慢的问题?

    • iOS中不存在缓存池慢的情况,因为通常我们在iOS开发中,对象都是在需要的时候才会创建,有种常用的说话叫做“懒加载”;
    • 还有在UITableView中一般只会创建刚开始出现在屏幕中的cell,之后都是从缓存池里取,不会在创建新的对象。
    • 缓存池里最多也就一两个对象,缓存池慢的情况一般在JAVA开发中比较常见,JAVA中一般把最近最少使用的对象先释放。

    2. CAAnimation的层级结构

    CAAnimation.png

    3. UIButton与UITableView的层级结构

    • 继承结构
    • 内部的子控件结构

    4. 如何渲染自定义格式字符串的UILabel?

    • 通过NSAttributedString

    5. 设置scroll view 的contensize能在ViewDidLoad里设置吗,为什么?

    • ViewDidLoad里做初始化的工作不影响设置scroll view 的contensize

    6. 按钮或者其它UIView控件的事件传递的具体过程

    • 事件响应链知识点,一级一级传递

    7. 控制器View的生命周期及相关函数是什么?你在开发中是如何用的?

    • 首先判断是否有视图,如果没有就调用loadView方法创建:通过storyboard或者代码;
    • 随后调用viewDidLoad,可以进行下一步的初始化操作,只会被调用一次;
    • 在视图显示之前调用viewWillAppear,该函数可以多次调用;
    • 视图viewDidAppear
    • 下一个视图显示之前,调用上一个视图的viewWillDisappear,该函数可以多次调用(若需要);
    • viewDidDisappear
    • 再布局变化前后,调用viewWill/DidLayoutSubviews处理相关信息。

    相关文章

      网友评论

        本文标题:iOS面试题锦集(五)——UI控件

        本文链接:https://www.haomeiwen.com/subject/ebvdettx.html