2011-09-12 9 views
0

私は現在、いくつかのイベント(乗馬、パーティーなど)を記載したアプリを持っています。これらのイベントを「お気に入り」のリストに追加して、これらのイベントをお気に入りに追加された順に並べ替えたいと思っています。イベントにインデックスプロパティを追加し、イベントを取得するときにディスクリプタを使用して並べ替えることはできますが、複数のお気に入りリストにイベントを追加できるようにしたいので、うまくいくとは思えません。iPhone - 注文中核データ関係

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

ありがとうございました。

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

答えて

2

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

Event <でEventいくつかを持つことができると言う

Favourites < -------- >>EventInFavourites

EventInFavouritesは2多対1の関係を持っています---------- >>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]; 

私はいくつかの詳細を省いたが、それはあなたに大きな画像を与える必要があります。

もちろん、iOS 5を待つことができます。

+0

ブリリアント。私はそれのようにすることは考えたことはありませんが、それは完全に動作します。ありがとうございました。 – JDx

+0

私は助けてうれしいです。私を投票するのをためらってはいけません! –

0

アイテムがお気に入りに追加された時刻を時刻&に保存します。後で、dbに問い合わせるときに、このタイムスタンプで注文してください。

お気に入りのリストが異なると、複数のタイムスタンプを各リストに1つずつ保存することができます。

+0

ありがとうございます。私はこれを行うと考えているが、私はユーザーが追加したりお気に入りのリストを削除することができますが、私は動的に追加/プロパティの名前を変更する必要がありますが、 – JDx

2

iOSデバイスはかなり早く更新され、潜在的な顧客の大部分を捨てることはないと想像しています。独自の実装をロールバックしなくて済む時間はもちろんです。