0

サブクラス化することを目的としたクラスがある状況があります。これを「スーパークラス」と呼びます。このクラスにはメンバーがあり、これを「配列」と呼びます。SuperClassのサブクラスは、「array」のメンバーとして配列を追加します。SuperClassは、次のことができる必要があります。

a)サブ配列が「配列」に追加されるタイミングを認識し、サブ配列にオブザーバーとして自分自身を追加します

b)これらのサブアレイがいつ変更されるか(挿入と削除)を知り、それに応じて応答できるようにします。

これを行う特定の方法はありますか?

4

1 に答える 1

0

NSNotificationCenterを使用すると、新しいオブジェクトが追加または削除されるたびに通知を送信できますが、NSMutableArrayをサブクラス化する必要があります。
メイン配列(サブ配列を含むもの)のNSMutableArrayのサブクラスを作成し、inserObject:atIndexメソッドをオーバーライドして、たとえば@"subarrayinserted"を呼び出すことができる通知を投稿します。
別の名前で通知を投稿するには、insertObject:atIndexとremoveObject:atIndexをオーバーライドするNSmutableArrayの別のサブクラスが必要です。
コードの例が必要かどうか教えてください。

于 2012-09-28T19:54:01.063 に答える