2012-03-24 3 views
2

내 ios 앱에 코어 데이터를 사용하고 있으며 엔티티 테이블에서 전체 열을 검색하는 방법에 대해 궁금합니다. 예를 들어 나는 테이블에서 기본 키를 가져 오는 데 관심이 있습니다.핵심 데이터 엔티티에서 열을 검색하는 방법

SQL에서 MYTABLE에서 Select name을 선택하면됩니다.

답변

7

난 당신이 이런 식으로 할 수 있다고 생각 :

NSManagedObjectContext *context = [self managedObjectContext]; 

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"--table--" inManagedObjectContext:context]; 
[fetchRequest setEntity:entity]; 
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:nil]; 

NSMutableArray *elementsFromColumn = [[NSMutableArray alloc] init]; 
for (NSManagedObject *fetchedObject in fetchedObjects) { 
    [elementsFromColumn addObject:[fetchedObject valueForKey:@"--column--"]]; 
} 

그래서 당신은 당신의 테이블의 특정 열에서 모든 요소를 ​​가지고있다. 희망하시는 바입니다.

+0

그게 효과가 있습니다. 게시 해 주셔서 감사합니다. 이제는 내가 어떻게하면이 자동 완성 기능을 사용하여 행복하게 할 수 있는지 알 수 있습니다. – user597608

+0

@ bs7 그래서 CoreData는 executeFetchRequest를 사용할 때 사용 가능한 모든 열을 가져 오거나 valueForKey를 호출 할 때만 가져옵니다. – onmyway133

+0

나를 위해 일했습니다. 멋진 대답! – TharakaNirmana

1

NSFetchRequest의 경우 documentation을보십시오. 특정 속성만을 포함하는 사전을 반환하도록 요청할 수 있습니다. 관심있는 방법은 setResultType:setPropertiesToFetch:입니다.

관련 문제