【发布时间】:2020-08-13 03:12:44
【问题描述】:
我有一个类方法,我想始终在主线程中执行。
如果在后台线程上调用该方法(就像 UI 相关方法一样),我是否可以配置 XCode 主线程检查器以引发“紫色警告”?
【问题讨论】:
-
有一些undocumented environment variables,但他们不提供您正在寻找的东西。恐怕这是不可能的。只需在方法的第一行添加
assert(Thread.isMainThread, "You should run this on the main thread!")(Swift) 即可。 -
谢谢 - 我担心我不得不退回到这个......
-
我收到了一位 Apple 工程师的回复 - 没有记录的方法。它可以意味着任何东西,没有办法,有办法,......他建议使用
dispatchPrecondition(condition: .onQueue(.main))而不是断言。 -
干得好!如果您将其写为答案,我会很高兴地接受它:-)