如何解决Xcode 11.5显示不正确的线程
最近,我将当前的代码库从Swift 4.2(Xcode-10.3)迁移到了Swift 5(Xcode-11.5)。
在测试时,我在 tableView 数据源上放置了一个断点,并发现当前(Xcode-11.5)在该断点上显示了后台线程。由于无法在后台线程上运行UIKit,这对我来说是个警报。查看附件
除非另有说明,否则仅从应用程序的主线程或主调度队列中使用UIKit类。此限制尤其适用于从UIResponder派生的类,或涉及以任何方式操纵应用程序用户界面的类。
- 如何解决此问题?
- 我的代码有问题吗?
解决方法
您必须添加一些更多信息,例如在何处以及如何初始化视图控制器和表视图。
您是否通过编程方式设置了表格视图的delegate
和dataSource
?如果是这样,请在DispatchQueue.main.async{}
块内尝试。
如果不是这种情况,请使用DispatchQueue的cellForRow
属性检查它是否是isMainThread
中的主线程。并检查您在哪里初始化tableView。
在其他情况下,可以在后台线程内调用整个View Controller。还要检查。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。