まれですが、アプリケーションで異常なクラッシュが発生します。
メインスレッドとは別のスレッドで呼び出されたためrunModal
に発生したと思われます。NSSavePanel
それがクラッシュの原因である可能性があるというのは正しいですか?
まれですが、アプリケーションで異常なクラッシュが発生します。
メインスレッドとは別のスレッドで呼び出されたためrunModal
に発生したと思われます。NSSavePanel
それがクラッシュの原因である可能性があるというのは正しいですか?
はい。
runModal
間違ったスレッドで呼び出してクラッシュしたことがあります。performSelectorOnMainThread
多くの場合、これを修正するのに役立ちます。
Apple の Threading Programming Guide を参照してください。
「スレッドセーフでないクラス: NSWindow とそのすべての子孫。」
NSSavePanel は NSWindow の子孫です。
原則として、UI 要素へのすべてのアクセスはメイン スレッド (UI スレッドとも呼ばれます) から行う必要があります。
はい、メインスレッドから開く必要があります。
それがクラッシュの原因であるかどうかはわかりません。私のささやかな経験から、クラッシュはあらゆる種類の原因で発生する可能性があることがわかります...