2014-07-19 4 views
0

해당 속성 중 하나 인 단일 문자가있는 엔티티 유형이 있습니다. 술어와 일치하는 모든 엔티티를 검색하려고합니다. 그리고 그 엔트리가 먼저 그 문자에 의해 정렬 된 다음 색인 번호 (다른 속성)가 정렬되기를 원합니다.이 블록 기반 NSSortDescriptor를 Core Data 친화적 인 것으로 대체하려고합니다.

내장 된 정렬 설명자를 사용하면 간단합니다. 단 하나의 문자는 문자에서 숫자, 구두점, 그림 이모티까지 사용할 수 있습니다. 그리고 내장 된 정렬을 사용하면 구두점을 먼저 얻고 그 다음에 숫자를 구합니다. 내가 원하는 것은 처음부터 A-Z이고 그 다음에 숫자, 구두점, 그리고 마지막으로 이모티콘 또는 영숫자가 아닌 다른 구두점 (나는 그 명령에 대해별로 신경 쓰지 않는 마지막 구두점)입니다.

이것은 블록 기반 NSSortDescriptor로 구현하기에 충분하지만 가져 오기 요청의 일부로 코어 데이터로 전송할 수있는 방법을 알아낼 수 없습니다 (예 : no 허용 된 블록). 그것이 몇 가지 다른 요청으로 깨는 것만 큼 좋을 것입니다. 그렇게 할 수있는 유일한 방법이라면, 결과 배열을 나중에 결합하는 것입니다. 하지만 가능하다면 한 번에 가져 오는 것을 선호합니다.

감사합니다.

답변

1

처음에 개체를 만들 때 정렬 논리를 실행하고 결과 'characterType'을 다른 속성에 저장하십시오. 이제 가져 오기 요청에서이 문자 유형 식별자를 먼저 쓰고 그 다음 문자를 입력 한 다음 다른 색인을 사용하여 3 개의 정렬 설명자를 사용하십시오.

+0

엔티티가 추가되거나 수정 될 때마다 다시 정렬해야하기 때문에 이것은 제 상황에서는 잘 작동하지 않습니다. 그러나 많은 경우에 작동 할 것이고 나에게도 색인 그 자체가 아니라 더 넓은 "문자 유형"숫자 필드, 문자는 1, 숫자는 2, 구두점/기타는 3입니다. – DanM

+0

그건 정확히 내가 '색인'을 의미하는 것이지만, 귀하의 이름은 더 좋습니다 :-) – Wain

+0

하하 :) 도움에 감사드립니다. 매우 감사! – DanM