NSOrderedSets는 테이블에있는 개체의 순서를 저장합니다. NSOrderedSet 인 속성을 사용하여 NSManagedObject 하위 클래스 인스턴스에 액세스하면 순서대로 수행됩니다.NSOrderedSet의 순서를 사용하여 NSFetchedResultsController의 결과를 정렬하는 방법
그러나 NSFetchRequest를 만들 때 NSSortDescriptor를 사용하여 해당 순서에 액세스 할 수있는 방법이 없습니다.
원시 SQLite DB에서 나타나는 순서는 Z_FOK_<relationship name>
필드에 저장됩니다. 데이터를 사용할 수 있지만 핵심 데이터 API를 통해 표시되지 않는 것으로 보입니다.
NSOrderedSet에 지정된 순서대로 결과를 반환하는 SQLite DB와 함께 작동하는 NSSortDescriptor를 작성하는 방법을 아는 사람이 있습니까?
업데이트
관련 질문 : NSFetchedResultsController and NSOrderedSet relationships
저도 그렇게 보입니다 ... NSFetchedResultsControllers가 주문을 활용할 수 있도록 NSSortDescriptor에 특별한 지원이 없다고 믿을 수 없었습니다. 그렇지 않으면 개발자는 여전히 NSOrderedSet의 목적을 모호하게하는 "sortOrder"속성을 추가하고 수동으로 관리해야합니다. –
@CoreyFloyd : 'B 객체'의 순서가 완전히 다른 두 가지 순서 관계 'A1 <-->> B'와'A2 <-->> B '를 가질 수 있으므로 "순서가 지정된 관계에 따라 정렬 된 B 객체 가져 오기"는 어쨌든 모호하다. –
정렬 설명자를 사용하여 NSFetchRequest를 만들어야합니다. 하지만 정렬 설명자를 사용하지 않고 (카테고리, 서브 클래스 등을 사용하여) 작성할 수있는 방법이 있다면 가져 오기 요청을 실행할 때 NSOrderedSet 순서가 기본값이됩니다. 거의 확실하게 정의되지 않은 동작이지만 가능성이 있습니다. –