CFRunloopModeRef简单介绍

1.CFRunloopModeRef代表着Runloop的运行模式
    2.一个Runloop中可以有多个mode,一个mode里面又可以有多个source\observer\timer等等
    3.每次runloop启动的时候,只能指定一个mode,这个mode被称为该Runloop的当前mode
    4.如果需要切换mode,只能先退出当前Runloop,再重新指定一个mode进入
    5.这样做主要是为了分割不同组的定时器等,让他们相互之间不受影响
    6.系统默认注册了5个mode
        a.kCFRunLoopDefaultMode:App的默认Mode,通常主线程是在这个Mode下运行
        b.UITrackingRunLoopMode:界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响
        c.UIInitializationRunLoopMode: 在刚启动 App 时第进入的第一个 Mode,启动完成后就不再使用
        d.GSEventReceiveRunLoopMode: 接受系统事件的内部 Mode,通常用不到
        e.kCFRunLoopCommonModes: 这是一个占位用的Mode,不是一种真正的Mode

你可能感兴趣的:(CFRunloopModeRef简单介绍)