2012-03-25 2 views
0

내 응용 프로그램에 핵심 데이터 설정이 있는데, 여러 항목을 가져 와서 가져온 항목 중 내가 선택한 속성에 액세스해야합니다. 성공적으로 다음과 같은 결과를 가져올 수 있습니다.CoreData 가져 오기 요청에서 문자열 (또는 다른 변수)을 가져 오는 중입니까?

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
     NSEntityDescription *entity = [NSEntityDescription entityForName:@"TableInfo" inManagedObjectContext:managedObjectContext]; 
     [fetchRequest setEntity:entity]; 

     NSError *error = nil; 
     NSArray *result = [managedObjectContext executeFetchRequest:fetchRequest error:&error]; 

내 결과가 훌륭한 배열을 제공합니다. 이제부터 어떻게 이러한 결과에서 '이름'속성을 얻을 수 있습니까? 이 특정 상황에서 가져온 모든 결과 '이름'문자열을 가진 배열을로드하려고합니다.

희망을 보내 주시면 감사하겠습니다.

답변

1

, 당신은 어려움없이 NSManagedObjects을 가져올 수를 그런데 관리 대상 객체에 name 속성이있는 NSArray이라는 또 다른 속성을 얻으려고합니까?

그런 다음 당신은 (원래 코드를 확장)를 NSArrayvalueForKeyPath를 사용할 수 있습니다

NSArray *names = [result valueForKeyPath:@"name"]; 
+0

후저를! 고마워, 더 쉬울 수 없었다. –

1

당신은 키 - 값 사용할 수 있습니다

for (NSManagedObject *fetchedResult in result) { 
    NSLog(@"name = %@", [fetchedResult valueForKey:@"name"]); 
} 

을하거나 사용자 정의 NSManagedObject 작성한 경우 : 내가 제대로 질문을 읽으면

for (EntityObject *fetchedResult in result) { 
    NSLog(@"name = %@", [fetchedResult name]); 
}