NSFetchRequest
은 코어 데이터에서 객체를 가져 와서 간단한 NSSortDescriptor
을 사용하여 객체를 정렬합니다. 내가 아이 패드 실행 iOS4에 정확히 같은 코드를 테스트하지만 때, iOS5를 5.1에서 예상대로NSSortDescriptor - 주문이 변경 되었습니까?
NSMutableArray *sortDescriptors = [NSMutableArray array];
NSSortDescriptor *sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"ownerName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
NSSortDescriptor *sortDescriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"petName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
[sortDescriptors addObject:sortDescriptor1];
[sortDescriptors addObject:sortDescriptor2];
[fetchRequest setSortDescriptors:sortDescriptors];
모든 작품 : 나는 사용자가 선택하는 내용에 따라 다른 사람의 몇 가지를 사용하지만, 그들은이 같다. 2.1 (또는 4.3 시뮬레이터) 모든 첫 번째 정렬 설명 자의 순서가 반대로됩니다. 이 예에서 소유자 이름은 Z에서 A로 정렬되지만 애완 동물은 A에서 Z로 올바르게 정렬됩니다!
이전 iOS 버전에 ascending
부울이 잘못된 방법으로 인한 버그가 있었습니까? 또는, 제가 잘못하고있는 다른 것이 있습니까?
EDIT : 첫 번째 키 (ownerName)는 NSFetchedResultsController
섹션으로 사용됩니다. 관련성이 있는지 확실하지 않습니다.
감사 Craig
'ascending'매개 변수에 'NO'를 전달하면 올바른 순서를 얻으실 수 있습니까? – Mundi
예. 첫 번째 SD의 '오름차순'문자를 NO로 변경 한 다음 iOS5 결과를 반영합니다. 두 번째 SD는 여전히 YES로 설정되었고 섹션 내의 항목은 같은 순서로 정렬되었습니다. 기묘한! –