Core Dataシングルトンマネージャー?質問する

Core Dataシングルトンマネージャー?質問する

Core Data を管理するためにシングルトン クラスを作成しない技術的な理由は何ですか? 定型的な Core Data コードをすべて削除してシングルトンで再実装するかどうかを現在決定しようとしています。

ベストアンサー1

Xcode テンプレートのアプリケーション デリゲートの定型コードは、機能的にはシングルトンとして実装されています。アプリケーション オブジェクトはシングルトンであり、1 つのデリゲート オブジェクトのみを保持するため、Core Data スタックのインスタンスは 1 つだけになります。また、アプリケーション オブジェクトはユニバーサルにアクセス可能であるため、いつでもアプリ デリゲートにアクセスできます。

ただし、それでも機能するのは、すべてのコンテキストがその 1 つのストアを使用する 1 つの永続ストアを持つ単純なアプリの場合のみです。より複雑なアプリでは、複数のストアまたはコンテキストが存在する可能性があるため、シングルトンはすぐに肥大化します。

Core Data で行う必要があるコーディングのほとんどは、モデルをビュー/インターフェースにリンクするコントローラー レイヤーにあるため、シングルトンでは通常、複雑さを隠したり、重複するコーディングを節約したりすることはできません。そのロジックは通常、各ビューにカスタマイズされているため、実際にシングルトンに配置することはできません。

過去にシングルトンを使用したことがありますが、結局は価値よりも面倒なことが分かりました。

おすすめ記事