私はしばらく Core Data を使用してきましたが、自分自身に質問をしたところです。私自身は常に、Core Data モデルを管理する何らかのローカル ストア クラスを作成する傾向があります。これは、参照を持つシングルトン クラスになります。管理対象オブジェクトのコンテキストには、新しい管理対象オブジェクトの作成、オブジェクトの削除、保存などのメソッドがあります。管理対象オブジェクトのサブクラスは、実際には単なるモデルです。
しかし、私はしばしば他の人々のプロジェクトにも携わってきました。他の開発者は、管理対象オブジェクトのサブクラスにクラス メソッドの形式でより多くのロジックを追加する傾向があり、コア データの「ラッパー」クラスが非常に単純であるか、まったくない場合があります。
たとえば、私は通常、次のようなことをします。
User *me = [[MyDataStore getInstance] createUserWithName:@"Daniel"];
他の人はむしろ持っています:
User *me = [User userWithName:@"Daniel"];
明らかに後者の方がはるかに優れており、私の意見ではより人間に優しいですが、多くの断片化されたコードで終わる可能性がありますが、一方で、私の解決策は、非常に大きなファイルが 1 つあることを意味します。一定の長さ。
他の人がこれについて彼らの見解を共有できるかどうか疑問に思いました。ありがとう。