IOS3

作者: xiaofengl | 来源:发表于2018-04-02 13:05 被阅读0次

    1、


    image.png

    2、iOS中常用的延时方法
    iOS常见的延时执行有2种方式
    调用NSObject的方法
    [self performSelector:@selector(run) withObject:nil afterDelay:2.0];
    // 2秒后再调用self的run方法

    使用GCD函数
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    // 2秒后执行这里的代码... 在哪个线程执行,跟队列类型有关

    });

    3、调用copy内部


    image.png

    4、调用alloc内部


    image.png

    5、static修饰局部变量或者全局变量


    image.png image.png image.png image.png

    6、load跟initialize什么时候调用


    image.png

    7、cell图片重复下载的原因


    image.png

    解决办法:使用MVC模型


    image.png

    8、编译过程做了哪些事情?
    1.C++,Objective C都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高。

    iOS开发目前的常用语言是:Objective和Swift。二者都是编译语言,换句话说都是需要编译才能执行的。二者的编译都是依赖于Clang + LLVM. OC和Swift因为原理上大同小异,知道一个即可!

    iOS编译

    不管是OC还是Swift,都是采用Clang作为编译器前端,LLVM(Low level vritual machine)作为编译器后端。所以简单的编译过程

    编译器前端

    编译器前端的任务是进行:语法分析,语义分析,生成中间代码(intermediate representation )。在这个过程中,会进行类型检查,如果发现错误或者警告会标注出来在哪一行。

    编译器后端

    编译器后端会进行机器无关的代码优化,生成机器语言,并且进行机器相关的代码优化。iOS的编译过程,后端的处理如下

    LVVM优化器会进行BitCode的生成,链接期优化等等

    相关文章

      网友评论

          本文标题:IOS3

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