ios - 从后台线程检索应用程序状态?
问题描述
我想UIApplication.shared.applicationState
从后台线程中获取。如果我尝试从后台线程获取应用程序状态,则在访问它时会出错,因为它不是主线程(因为它是UIKit
API)。
我这样做的原因是我可以记录事件,其中还包括当前应用程序状态等信息。为我记录事件是在后台发生的,因此它不会锁定主线程。
在后台线程中获取应用程序状态是否有替代方法?
解决方案
为主线程上的状态更改设置通知,并将它们原子地分配给变量。现在也可以从后台线程以原子方式访问该变量。
推荐阅读
- php - 如何在 Laravel 5.6 中打印请求模型名称和区域名称?
- c# - 为什么 Int16 类的反编译代码在 Visual Studio 中显示 MinValue 为“--32768”?
- javascript - 单击每个按钮时将元素移动到顶部
- c++ - 哪个更好地检查 std::string 中是否存在字符?find 还是 find_first_of?
- javascript - Vue 上用于显示微调器/加载器 gif 的 onload 页面?
- javascript - 具有相同类的嵌套元素上的jquery单击事件
- java - 为什么 jdk Thread.stop()/suspend()/resume() 函数不安全且已过时?
- sql - 检查约束sql server
- twilio - 无法通过 Safari 获取 iPhone 用户的视频曲目
- json - 使用 curl 发布多部分/表单数据、文件和大量键值对