美文网首页
runloop 的常用 Mode 作用是什么?

runloop 的常用 Mode 作用是什么?

作者: FRAJ | 来源:发表于2019-05-13 15:19 被阅读0次

    关于Mode首先要知道一个RunLoop 对象中可能包含多个Mode,且每次调用 RunLoop 的主函数时,只能指定其中一个 Mode(CurrentMode)。切换 Mode,需要重新指定一个 Mode 。主要是为了分隔开不同的 Source、Timer、Observer,让它们之间互不影响。

    系统默认注册了5个Mode:

    1. kCFRunLoopDefaultMode: App的默认 Mode,通常主线程是在这个 Mode 下运行的。
    2. UITrackingRunLoopMode: 界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响。
    3. UIInitializationRunLoopMode: 在刚启动 App 时第进入的第一个 Mode,启动完成后就不再使用。
    4. GSEventReceiveRunLoopMode: 接受系统事件的内部 Mode,通常用不到。
    5. kCFRunLoopCommonModes: 这是一个占位的 Mode,没有实际作用。

    苹果公开提供的Mode有两个:

    1. kCFRunLoopDefaultMode
    2. kCFRunLoopCommonModes

    相关文章

      网友评论

          本文标题:runloop 的常用 Mode 作用是什么?

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