0

説明しようと思います。たとえば、CoreDataによって管理されるPersonクラスを使用した単純なサンプルプロジェクト。データを表示するUITableViewがたくさんあります(1つはすべての人を表示し、1つは人の追加、削除、更新を許可し、もう1つは中年を表示し、もう1つは同じ名前でグループ化された人を表示します...これらはほんの一例であり、そうではありません案件)。もちろん、すべてのビューコントローラー内にコアデータコードを記述したくありません。このような状況で、より保守しやすいコードを作成するにはどうしますか?

  • シングルトンの「PersonManager」クラス。(たとえば)すべての人を含むmutableArray、insert-remove-updateメソッド、NSFetchedResultsController ecc ecc .. ..

  • Personオブジェクトのクラスメソッド?「NSArray*array =[personObjectallPersons];」のようなもの およびメソッドadd-remove-update?クラスは、メモリecc eccから自分自身をロードする方法を知っています...?

または何?

ありがとうファビオ

4

1 に答える 1

1

私はかつて、デザイン パターンと OOP に関する非常に優れた本を読んだことがあり、作成したすべてのクラスを "マネージャー" と呼びたくなるようなものはごみであると書かれていました。その本は思い出せませんが、それほど重要ではありません。要点は、すべてのデータ オブジェクトがそれ自体を管理し、その関係を管理できる必要があるということです (たとえば、人物オブジェクトは addFather: または addFriend: メソッドを持つことができます)。Core Data のヒント: カテゴリを使用して、自動生成されたデータ オブジェクト クラスに追加のメソッドを実装すると、Core Data に新しいリレーションやプロパティを追加するときに、作業がずっと楽になります。

したがって、あなたの場合、すべての人が関連付けられているデータオブジェクトが必要になります。AgendaDO などと呼ぶことができます。このオブジェクトには、人を追加、削除するメソッドだけでなく、すべての人を特定の順序で取得したり、特定の人だけを並べ替えたりするメソッドがあります。

于 2012-10-03T22:23:55.493 に答える