CFRunloopObserverRef是观察者,能够监听runloop状态的改变。
监听的步骤:1.创建监听者 2.添加监听者。
runloop的状态可以分为以下几种:
typedef CF_OPTIONS(CFOptionFlags, CFRunLoopActivity) {
kCFRunLoopEntry = (1UL << 0),即将进入runloop
kCFRunLoopBeforeTimers = (1UL << 1),即将处理timer事件
kCFRunLoopBeforeSources = (1UL << 2),即将处理source事件
kCFRunLoopBeforeWaiting = (1UL << 5),即将进入睡眠
kCFRunLoopAfterWaiting = (1UL << 6),被唤醒的状态
kCFRunLoopExit = (1UL << 7),runloop退出
kCFRunLoopAllActivities = 0x0FFFFFFFU。所有的状态
};
好了,上代码。
1.添加观察者 2.调用观察者
网友评论