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);

    }

  • 相关阅读:
    uni-app问题——请注意无 AppID 关联下,调用 wx.login 是受限的, API 的返回是工具的模拟返回
    echarts中实现线性渐变的两种方式
    echarts怎么把柱状图变成圆角
    vue-cli项目中ESLint报错整理
    vscode保存自动把单引号替换成双引号
    vscode快捷键
    vue-cli项目指定启动端口和编译后自动打开浏览器
    使用Fetch发送Ajax请求
    Service chromedriver unexpectedly exited. Status code was: -9 处理方法
    使用pyinstaller打包遇到的坑
  • 原文地址:https://www.cnblogs.com/dashengios/p/10519897.html
Copyright © 2011-2022 走看看