2012-09-12 2 views
1

나는 NSFetchedResultsController를 가지고 있는데, 이는 섹션 디스크립터 배열의 첫 번째 정렬 디스크립터가 sectionNameKeyPath와 동일하므로 다른 섹션을 제공한다. 하지만 두 번째 정렬 설명자가 다른 pr 섹션이되도록합니다. 데이터를 배열로 푸시하지 않고도 다시 정렬 할 필요없이이 작업을 수행 할 수있는 좋은 방법이 있습니까?섹션별로 다른 정렬 설명자가있는 NSFetchedResultsController?

건배

답변

0

당신은 이미 각 섹션에 대해 내부적으로 다른 배열을 사용하여 제안했다. 현실에서는 표시된 객체의 색인 경로와 실제 객체 간의 매핑에 대해서만 염려해야하기 때문에 나쁜 접근 방식은 아닙니다.

즉 테이블보기에 표시되는 항목의 수가 적기 때문에 컨트롤러에 해당 항목을 요청하기 때문에 항목 수가 적다는 것을 알고 있습니다. FRC에서 가져온 결과 배열에서 항목을 직접 돌려 줄 필요는 없습니다.

색인 경로를 사용하여 요청한 섹션을 파악한 다음 해당 섹션에 대해 미리 정렬 된 행을 가져옵니다. 데이터가 매우 작기 때문에 요청에 따라 즉시 정렬 할 수 있습니다.

또 다른 방법은 데이터 모델에 다른 속성을 추가하는 것입니다. 이 속성은 섹션 내의 정렬 순서를 나타내며 전체 배열이 섹션별로 먼저 정렬 된 다음 해당 속성별로 정렬되므로 원하는 값으로 설정할 수 있습니다.

또한 가져온 결과 컨트롤러의 프런트 엔드로 프록시 개체를 사용하는 것이 더 쉽습니다. "다중 배열"접근 방식과 마찬가지로 테이블 뷰에서 해당 섹션을 요청할 때 각 섹션에 고유 한 정렬 설명자를 적용하는 프록시 개체를 사용하고 고유 한 정렬 된 순서로 개체를 반환합니다.

관련 문제