私は連絡先のリストを格納するコントローラクラスを持っています。このリストを、そのような配列にKVOを実装するオブジェクトに共有する必要があります。NSArrayインスタンスをKVOオブジェクトに共有する
最も明白な解決策は、誰もがコントローラの同じインスタンス変数を使用でき、配列の内容を変更することができないように、NSMutableArrayの代わりにNSArrayを使用することです。
ここでは、このリストは3分ごとに変更でき、コントローラーだけがアレイの内容を更新できることをイメージします。
連絡先リストの割り当てを解除して再初期化すると、すべてのKVOオブジェクトが配列への参照を失います。
最後に: NSArray PRO:誰も配列の内容を変更できません。 NSArray CON:コントローラーは、デアロックなしで配列を変更できないため、他のオブジェクトが参照を失いました。
NSMutableArray PRO:コントローラは配列の内容を変更できます。オブジェクトはすべて同じ配列の同じ参照を簡単に共有できます。 NSMutableArray CON:誰でも配列を変更できます。
提案がありますか?