2012-01-25 4 views
2

계산 가져 오기 가져 오기 작성하는 방법 :코어 데이터는 복잡한에 요청 내가 코어 데이터의 형태로 문 다음과 같은 SQL을 인출 작성하는 방법을 알아 내려고 노력하고 있어요

select count(*) from MYTABLE where MYTABLE.size='2'; 

나는 순간에이 모든입니다 다음

//setup predicate 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY %K == %@", @"size",  searchInteger]; 
[request setPredicate:predicate]; 


NSError *error = nil; 
NSInteger count = [managedObjectContext countForFetchRequest:request error:&error]; 
NSLog(@"fetch results count = %i", count); 
[request release]; 

나는 확실하지 않다 무엇이다 :

  1. 이 함께 SELECT COUNT (*)를 할 수있는 가장 효율적인/빠른 방법입니다 조건
  2. 보다 효율적으로 여기에 술어를 설정하는 다른 방법이 있습니까?

전문가의 제안을 환영합니다.

미리 감사드립니다. Pras.

답변

0

countForFetchRequest:은 확실히 카운트를 얻는 가장 효율적인 방법입니다. 나는 이 아니고은 술어 형식 문자열에 ANY 키워드를 사용해야한다고 생각합니다.

또한 searchIntegerNSNumber인지 확인하십시오. 그렇지 않으면 [NSNumber numberWithInt:searchInteger]과 같은 것으로 포장해야합니다.

+0

감사합니다. Mundi. 명시된대로 countForFetch를 사용합니다. searchInteger의 관점에서 볼 때 실제로 NSString 값이 데이터베이스에 있으므로 NSNumber 대신 문자열을 검색해야합니다. – prazzledazzle

관련 문제