Skip to content

Instantly share code, notes, and snippets.

@parallaxe
Created November 28, 2017 07:52
Show Gist options
  • Save parallaxe/a92821e440f45e7e384107864f2ef743 to your computer and use it in GitHub Desktop.
Save parallaxe/a92821e440f45e7e384107864f2ef743 to your computer and use it in GitHub Desktop.
in interface:
@property(nonatomic) CFRunLoopObserverRef runloopObserver;
in init:
self.runloopObserver = CFRunLoopObserverCreate(NULL, kCFRunLoopAllActivities, true, 0, &runloopCallback, NULL);
CFRunLoopAddObserver(CFRunLoopGetMain(), self.runloopObserver, kCFRunLoopCommonModes);
CFRunLoopRemoveObserver(CFRunLoopGetMain(), self.runloopObserver, kCFRunLoopCommonModes);
void runloopCallback(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info) {
NSLog(@"runloop %lu", activity);
switch(activity) {
case kCFRunLoopExit:
NSLog(@" kCFRunLoopExit");
break;
case kCFRunLoopEntry:
NSLog(@" kCFRunLoopEntry");
break;
case kCFRunLoopAfterWaiting:
NSLog(@" kCFRunLoopAfterWaiting");
break;
case kCFRunLoopBeforeTimers:
NSLog(@" kCFRunLoopBeforeTimers");
break;
case kCFRunLoopAllActivities:
NSLog(@" kCFRunLoopAllActivities");
break;
case kCFRunLoopBeforeSources:
NSLog(@" kCFRunLoopBeforeSources");
break;
case kCFRunLoopBeforeWaiting:
NSLog(@" kCFRunLoopBeforeWaiting");
break;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment