私はオブジェクトのプロパティを変更した後にDispatchQueue.main.asyncAfter
メソッドを呼び出します(私はKVOでファイアしています)。私は1秒間だけ確認画面を表示していますし、UI上で別のことをするブロックを実行します(viewcontrollerをポップします)。問題は、私がUICollectionViewCell
からこれを呼び出すときにうまく動作しますが、私のアプリケーションで別のUICollectionViewCell
からこのメソッドを呼び出すと、フリーズします。このメソッドは、UIView
という拡張子で実装されています。DispatchQueue.main.asyncAfterメソッドは特定の呼び出しでUIをフリーズします
Dispatch内のコードがフリーズすると、私は中にブレークポイントがありますが、そのポイントには到達しません。私は実行を一時停止するとき
UDPATE ここでスタックトレースです:
First time I paused the execution
あなたのアプリがフリーズしたら、デバッガの一時停止ボタンをクリックし、スタックトレースを見て、あなたのアプリがスタックしていることを確認します。 – rmaddy
実行を一時停止すると、スタックトレースのスクリーンショットが追加されました。しかし、もし私が演奏を押して再び一時停止すると、必ずしも同じポイントではありません。 – sheinix