我的应用程序中有奇怪的崩溃,虽然很少见。
我怀疑它的发生是因为在与主线程不同的线程中调用runModal
。NSSavePanel
我是否正确,这可能是导致崩溃的原因?
我的应用程序中有奇怪的崩溃,虽然很少见。
我怀疑它的发生是因为在与主线程不同的线程中调用runModal
。NSSavePanel
我是否正确,这可能是导致崩溃的原因?
请参阅 Apple 的线程编程指南:
“线程不安全类:NSWindow 及其所有后代。”
NSSavePanel 是 NSWindow 的后代。
是的。
我在调用runModal
错误的线程时遇到了崩溃。performSelectorOnMainThread
通常对解决此问题很有用。
作为一般规则,对 UI 元素的所有访问都应该发生在主线程,有时也称为 UI 线程。
所以我会说是的,你应该从主线程打开它。
至于这是否是你崩溃的根源很难说。我谦虚的经验告诉我,崩溃可能是由各种各样的事情引起的......