2011-09-12 4 views
0

현재 여러 가지 이벤트 (승마, 파티 등)를 나열하는 앱이 있는데,이 이벤트를 '즐겨 찾기'목록에 추가하여이 이벤트를 핵심 데이터가 있지만이 이벤트를 즐겨 찾기에 추가 된 순서대로 정렬되기를 원합니다. 이벤트에 인덱스 속성을 추가하고 이벤트를 검색 할 때 디스크립터를 사용하여 정렬 할 수 있지만 즐겨 찾기의 여러 목록에 이벤트를 추가 할 수 있기를 원하므로 작동하지 않을 것이라고 생각합니다.iPhone - 주문 핵심 데이터 관계

나는 또한 내가 찾고있는 것이지만 iOS5가 필요한 정렬 된 관계를 조사해 보았습니다. 최후의 수단은 아마도 이것에 대처할 수 있었지만 다른 방법을 찾을 수는 있습니다. 가능한. 어떤 아이디어?

감사합니다.

편집 : 사용자는 즐겨 찾기 목록을 추가 및 제거하여 날짜 속성을 추가하고 그로 인해 정렬 할 수 없도록 할 수도 있습니다.

답변

2

올바른 해결책은 즐겨 찾기 목록에 이벤트 멤버십을 나타내는 세 번째 엔터티를 갖는 것입니다. EventInFavourites이라고합시다.

EventInFavourites 두 대일 관계가 있습니다

Favourites < -------- >>를 EventInFavourites 이 하나가 Favourites

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]; 

나는 약간의 세부 사항을 생략했지만 큰 그림을 제공해야합니다.

물론 iOS 5를 기다릴 수 있습니다.

+0

Brilliant. 나는 그런 식으로 생각한 적이 없지만 완벽하게 작동합니다. 고맙습니다. – JDx

+0

도움이 된 것을 기쁘게 생각합니다. 저를 투표하는 것을 망설이지 마십시오! –

0

시간이 항목을 즐겨 찾기에 추가 한 시간을 & 저장하십시오. 나중에 db를 쿼리 할 때이 타임 스탬프를 기준으로 정렬합니다.

다른 즐겨 찾기 목록을 사용하면 각 목록마다 하나씩 여러 개의 타임 스탬프를 저장할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 나는이 일을 고려해 봤지만 사용자가 즐겨 찾기 목록을 추가 및 제거 할 수 있기를 원합니다. 따라서 동적 데이터를 추가하거나 가능하지 않다고 생각되는 핵심 데이터의 이름을 바꿀 필요가 있습니다. – JDx

2

iOS 기기는 비교적 빠르게 업데이트되며 잠재 고객의 상당 부분을 버리지 않을 것이라고 상상합니다. 자신의 구현을 롤백하지 않아도되는 시간은 말할 것도 없습니다.