2013-07-15 2 views
2

내가 좋아하는 엔티티 모델이 함께라는 표현을코어 데이터 정렬 ... 비교

[Event]<--->>[Invite]<<--->[Person] 
나는이에 NSSortDescriptor를 만들 싶습니다

그래서 있다는 EventPerson가 동일 어떤 Invite이있는 경우 주어진 사람은 그 때 그들은 첫째로 올 것이다.

즉 5 개의 이벤트가 있고 그 중 하나에 현재 사용자 (내가 전달)에 대한 초대가있는 경우 초대가있는 참석자는 나머지 4 명이 먼저 진행됩니다.

지금은 date 주문에 표시하고 있습니다 만이 경우 NSSortDescriptor을 만들고 싶습니다.

비교기를 지정하는 곳에서 sortDescriptorWithKey:ascending:comparator:을 사용해야한다고 생각하지만 어떤 키를 사용해야합니까? invites?

+0

메모리 또는 저장소의 엔티티에서 실행될 예정입니까 (SQL 제한 사항)? – Wain

+0

흠 ... 나는 실제로 확신하지 못합니다. CoreData NSSortDescriptor에 대한 키 이상을 사용한 것은 이번이 처음입니다. NSFetchedResultsController 요청의 sortDescriptors 배열에이를 추가하려고했습니다. – Fogmeister

답변

2

sortDescriptorWithKey:ascending:comparator:을 FRC와 함께 사용할 수 없습니다. 정렬은 상점 자체의 SQL에서 수행되며 블록을 SQL로 변환 할 방법이 없기 때문입니다. 또한 일시적인 변수를 사용할 수 없습니다.

결과에 2 개의 섹션 (따라서 다른 조건자를 사용하는 2 개의 다른 페치 요청)이 있고 각각을 개별적으로 정렬한다고 생각합니다. 그런 다음 술어는 사용자 정보를 처리하고 정렬은 (현재 보유하고있는 날짜별로) 간단합니다.

+0

아, 알겠습니다. 이것에 갈 것이다. 감사. – Fogmeister

관련 문제