私は現在、このようなことを行うコードをいくつか持っています(大幅に簡略化されていますが、要点を説明するのに十分です):
@property (weak) IBOutlet CustomViewClass *customView;
...
for (int i=0; i<iterations; i++) {
// Crunch some data (Up to ~200,000 operations)...
// Update view to represent where we are in the process:
[_customView setNeedsDisplay:YES];
}
指定された回数の反復でコードを実行するたびに、カスタムビューのdrawRect:メソッドは、すべての反復が完了すると1回だけ呼び出されます。
私が望んでいるのは、すべての反復の後にビューを強制的に更新し、ビューが再描画されるまで待ってから次の反復に進むことです-しかし、ドキュメントのどこにも、私がそうするようにそれを機能させる方法が見つかりませんお気に入り!
drawRect:を直接呼び出すことができれば、問題は解決するように感じますが、NSViewではこれが許可されていないことはわかっています。
誰かが私を正しい方向に向けることができますか?