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