0

私は現在、いくつかのイベント(乗馬、パーティーなど)を一覧表示するアプリを持っています。これらのイベントを、コアデータに保存される「お気に入り」のリストに追加できるようにしたいのですが、これらのイベントも必要です。お気に入りに追加された順序で並べ替えられます。イベントにインデックスプロパティを追加し、イベントを取得するときに記述子を使用して並べ替えることができると思いますが、お気に入りの複数のリストにイベントを追加できるようにしたいので、それはうまくいかないと思います。

私はまた、順序付けられた関係を調べました。これはまさに私が探しているものですが、iOS5が必要です。最後の手段として、可能であればこれを行う別の方法を見つけたいと思いますが、おそらくそれに対処できます。何か案は?

ありがとう。

編集:ユーザーはお気に入りのリストを追加および削除することもできるため、日付プロパティを追加して並べ替えることはできません。

4

3 に答える 3

2

正しい解決策は、お気に入りリストへのイベントのメンバーシップを表す3番目のエンティティを用意することです。それを呼びましょうEventInFavourites

EventInFavourites2つの多対1の関係があります。

Favourites<-------- >>EventInFavourites これは、aFavouritesに複数Eventを含めることができることを示しています

Event<---------- >>EventInFavourites これは、イベントが複数のFavouritesリストの一部になる可能性があることを示しています。

最後に、そのお気に入りリスト内のそのイベントの位置は、の属性で表され EventInFavouritesますposition

したがって、お気に入りリストにイベントを追加する場合は、EventInFavouritesインスタンスを作成し、それをそのイベントとそのお気に入りリストにリンクします。このようなビット:

EventInFavourites *newFavouriteMembership = [EventInFavourites insertInManagedObjectContext:self.moc];
newFavouriteMembership.event = anEvent;
newFavouriteMembership.favourites = aFavouritesList;
newFavouriteMembership.position = 3; // or whatever
[self.moc save:NULL];

私はいくつかの詳細を省略しましたが、それはあなたに全体像を与えるはずです。

そしてもちろん、iOS5を待つこともできます。

于 2011-09-12T19:53:28.693 に答える
2

iOS 5との順序付けられた関係を使用してください。iOSデバイスはかなり迅速に更新され、潜在的な顧客の大部分を放棄することはないと思います。独自の実装をロールする必要がないため、時間を節約できることは言うまでもありません。

于 2011-09-12T11:15:47.727 に答える
0

アイテムがお気に入りに追加された日時を保存します。後でデータベースにクエリを実行するときは、このタイムスタンプで並べ替えます。

お気に入りのリストが異なる場合は、リストごとに1つずつ、複数のタイムスタンプを保存することをお勧めします。

于 2011-09-12T09:56:39.917 に答える