私の質問は、これを正しく、適切な設計で実装する方法です。
これにはCore Dataを使用します。
問題の説明: システムに Location と Event という 2 つのオブジェクト タイプ (クラス) があるとします。これらは Web サービスから取得され、永続化する必要はありません。
これら 2 種類のオブジェクトはいずれもお気に入りに追加 (保存) でき、ローカルに永続化する必要があります。
追加要件:
- お気に入りの表示と管理 - FavoritesViewController で言ってみましょう (ここではNSFetchedResultControllerを使用します)
- お気に入りの表示 (セル) は、お気に入りの種類 (場所またはイベント) によって異なります。
- 場所/イベントの詳細ビュー コントローラーでは、お気に入りに追加/お気に入りから削除するアクションがあり、そのアクションの状態はお気に入りの存在に応じて設定する必要があります
- 将来的には、お気に入りに追加できる別のオブジェクト タイプにすることができます (たとえば、ドリンク)。
これを実装する最善の方法についてジレンマがあります。場所とイベントを個別のエンティティ (モデル オブジェクト) として直接保存し、お気に入りのリストを取得して管理するために、1 回のフェッチで取得する必要があります。または、インターフェース/プロトコル (Favorable など) を使用して、Favorite オブジェクトを作成および保存し、Favorite に追加できる各オブジェクトは、Favorite を実装する必要があり、Favorite オブジェクトに変換されますが、この場合、Favorite が制限されます。 Favorite オブジェクトが公開する属性のみ。