をcontroller
保持する配列を持つ がありactors
ます。アクターは、 によって呼び出されるオブジェクトcontroller
です。
問題:は配列をcontroller
繰り返し処理し、各アクターに. アクターは、別のアクターを作成して に登録したり、コントローラーのアクター配列からアクターまたはそれ自体を削除したりできます。次の 2 つの方法でルーティングされます。actors
-actionMessage
controller
-registerActor:(Actor*)actor;
-unregisterActor:(Actor*)actor;
そのため、コントローラーがアクター配列を反復処理している間に、アクターのリストが変更される可能性があります。編集: また、新しく追加されたアクターもループを通過する必要があります。
この問題に対処するためのベストプラクティスは何ですか? 反復する前に、アクター配列のコピーを作成する必要がありますか?