RL

Observer

/*
 参数 1:分配该 observer 对象的内存空间
 参数 2:设置该 observer 监听什么状态
 参数 3:是否每次需要监听
 参数 4:用于设置该 observer 的优先级,一般是0
 参数 5:用于设置该 observer 的回调函数
 参数 6:observer 的运行状态
 */
CFRunLoopObserverRef observer = CFRunLoopObserverCreateWithHandler(CFAllocatorGetDefault(), 
                                                                    kCFRunLoopAllActivities, 
                                                                    YES, 
                                                                    0, 
                                                                    ^(CFRunLoopObserverRef observer, 
                                                                      CFRunLoopActivity activity) {
    
});

CFRunLoopObserverContext context = {
      0,
      (__bridge void *)self,
      &CFRetain,
      &CFRelease,
      NULL  
};
CFRunLoopObserverRef observer = CFRunLoopObserverCreate(kCFAllocatorDefault, 
                                                        kCFRunLoopBeforeWaiting, 
                                                        YES, 
                                                        0, 
                                                        &callback, 
                                                        &context);
void callback(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info)
{
    
}    

Source

CFRunLoopSourceContext context = {0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
CFRunLoopSourceRef source = CFRunLoopSourceCreate(kCFAllocatorDefault, 0, &context);

Timer

CFRunLoopTimerRef timer = CFRunLoopTimerCreateWithHandler(kCFAllocatorDefault, 
                                                        CFAbsoluteTimeGetCurrent(), 
                                                        0.5f, 
                                                        0, 
                                                        0, 
                                                        ^(CFRunLoopTimerRef timer) {
        
});

Guess you like

Origin www.cnblogs.com/dins/p/rl.html
RL
RL
RL