我有一个应用程序,我从输入流中读取数据并将其可视化给用户。当我设置输入流时,我在后台运行循环中设置它,打开它然后运行后台循环。但有时我的应用程序会意外中断。我不能重复这次崩溃,所以我什至不知道从哪里开始修复它。
它表示它是从后台队列(线程 3)排队
。 Thread 3
看起来像这样:
这可能是什么原因?我应该从哪里开始修复它?
奇怪的是,在 Thread 17
中,它崩溃的地方变量 bg_queue
是 nil,无论如何它通过了我做的 if 条件
if (bg_queue != nil)
但在线程 3 中它不是 nil:
最佳答案
看起来,您从 GCD 管理的辅助线程创建了一个运行循环。您不应从 GCD 管理的线程中获取运行循环!
创建自己的专用线程或使用主线程来获取运行循环。
关于iOS 应用程序意外中断。多线程问题(可能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34197932/