zoukankan      html  css  js  c++  java
  • 监听Runloop的状态

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

    {

        CFRunLoopObserverRef observerRef = CFRunLoopObserverCreateWithHandler(CFAllocatorGetDefault(), kCFRunLoopAllActivities, YES, 0, ^(CFRunLoopObserverRef observer, CFRunLoopActivity activity) {

            

            switch (activity) {

                case kCFRunLoopEntry:

                    NSLog(@"runloop启动");

                    break;

                case kCFRunLoopBeforeTimers:

                    NSLog(@"runloop即将处理timer事件");

                    break;

                case kCFRunLoopBeforeSources:

                    NSLog(@"runloop即将处理sources事件");

                    break;

                case kCFRunLoopBeforeWaiting:

                    NSLog(@"runloop即将进入休眠");

                    break;

                case kCFRunLoopAfterWaiting:

                    NSLog(@"runloop被唤醒");

                    break;

                case kCFRunLoopExit:

                    NSLog(@"runloop退出");

                    break;

                default:

                    break;

            }

        });

        

        CFRunLoopAddObserver(CFRunLoopGetCurrent(), observerRef, kCFRunLoopDefaultMode);

    }

  • 相关阅读:
    Java 8的新并行API
    java lambda表达式
    用Java反射输出对象的所有属性的值
    整数划分问题
    比较常用的几个正则表达式
    bilibili的下载文件可以有多深
    vim中的宏和normal命令
    vim与正则表达式
    Manjaro软件推荐
    解决无法更新
  • 原文地址:https://www.cnblogs.com/dashengios/p/10519897.html
Copyright © 2011-2022 走看看