私の Cocoa アプリには、イベントの結果として一連の作業を行うために、データの階層を介して呼び出す処理が時々あります。各小さなピースは、いくつかのリソースを作成および破壊します。ほとんどの場合、これらのリソースは必要ありませんが、すべての作業の前にそれらを作成し、最後にそれらを削除するスマートな方法を見つけたいと考えています.
これらのバッファなどを「親」または他の場所からグローバルに使用できるようにする以外に、イベント ループの実行が終了したときに一部のコードでローカルに知る方法はありますか? 次に、それらが存在しない場合はそれらを作成し、実行ループが終了するまでそれらを保持して、それ以前の後続の呼び出しでそれらを再利用できます。
編集:コードを再構築する方法についての提案を探しているわけではありません。この問題は、ランループがいつ完了したかを知る方法についての質問を引き起こしました。私が書き込みをしているとしたら、Javascript はわかりませんが、setTimeout
with zero を使用して終了イベントのクリーンアップを実行します。間隔がゼロの NSTimer もこれを達成できると思いますが、よりクリーンなものがあるかどうか疑問に思っています。
ありがとう。