您的位置:首页 > 移动开发 > IOS开发

iOS runloop讲解

2015-10-06 09:17 288 查看
二:
Runloop结合多线程

    //1. 什么是runloop?

    //runloop运行循环, 循环处理线程中的任务, 负责任务中的调度和执行

    //2.每个线程中, 无论是主线程还是子线程, 系统都默认帮我们创建了runloop,主线程中的runloop是默认打开的, 而子线程中的runloop是默认关闭的

    //3.runloop的底层实现: 有一个定时源和输入源, 定时源的作用是: 通过一定的时间间隔, 来循环监听自身线程中的任务变化, 比如有没有触摸事件. 输入源的作用:处理来自别的线程的任务, 用来进行线程通信(主线程回到子线程, 子线程回到主线程).

 //runtime讲解

    //1. 是什么?

    //1.1runtime是一套比较底层的纯C语言的API,
runtime就是一个库, 一个C语言库, 包含了许多底层操作的C语言API

    //1.2平时我们编写的OC代码, 在程序运行期间, 其实最终都经过runtime转成了C语言代码,
runtime是OC幕后工作者, 是整个OC的底层

    //1.3举例:

    //Student *stu = [[Student alloc] init];经过runtime被编译成objc_msgSend(objc_msgSend("Student",
"alloc"), "init");

    //objc_msgSend其实就是向某个对象发送什么消息

    //2.用过吗? 怎用?

    //2.1runtime属于OC底层, 可以进行非常底层的操作eg.

    //*在程序中运行过程中,动态创建一个类,
(KVO)

    //*向类中动态添加方法, 添加属性

    //*遍历一个类中的所有属性和实例变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: