2010-04-06 4 views
2

CoreData에서 가장 최근에 추가 된 레코드를 가져 오려고합니다. 그게 NSPredicate를 사용하여 가능한지 궁금 해서요? 그렇다면 어떻게?iPhone 개발 - NSPredicate를 사용하여 CoreData에서 가장 최근에 추가 된 레코드 검색

부서와 직원간에 일대일 관계가 있으며 가장 최근에 고용 된 직원 기록을 가져오고 싶습니다. 스태프 테이블에는 사용할 수있는 날짜 필드가 있습니다.

전 직원 기록을 가져 와서 올바른 것을 찾지 않겠습니다. CoreData는 관련된 레코드를 NSSet에 저장합니다.

답변

5

나는 여기서 당신이 요구하는 것을 술어가 할 것이라고 생각하지 않는다. 대신, 내림차순으로 날짜를 정렬하도록 설정된 정렬 설명자를 사용하여 단일 레코드를 페치 할 수 있습니다. 다음을 포함하도록 가져 오기 요청을 수정해야합니다.

NSSortDescriptor *dateSort = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO]; 
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:dateSort]]; 
[fetchRequest setFetchLimit:1]; 

가장 최근의 날짜 속성이있는 직원 개체를 가져와야합니다. SQLite 저장소를 사용하는 경우 정렬은 SQLite 계층에서 수행되며 단일 결과 만 가져옵니다.

+0

나는 이것이 완벽하게 작동한다고 생각합니다. 감사. – Mustafa

관련 문제