2011-08-11 5 views
5

NSFetchRequest 결과 유형을 NSDictinaryResultType으로 설정하면 0 개체가 반환됩니다. setPropertiesToFetch 및 setResultType을 제거하면 모든 객체가 반환됩니다.핵심 데이터 NSFetchRequest setResultType : NSDictionaryResultType이 작동하지 않습니다.

아이디어가 있으십니까?

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Alert" inManagedObjectContext:_managedObjectContext]; 
[request setEntity:entity]; 

NSDictionary *entityProperties = [entity propertiesByName]; 
[request setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"test"]]]; 
[request setResultType:NSDictionaryResultType]; 

NSError *error; 
NSArray *result = [_managedObjectContext executeFetchRequest:request error:&error]; 

if (result == nil) { 
    NSLog(@"Error: %@", [error localizedDescription]); 
} 

답변

10

새로운 개체를 삽입 한 후 mangedObjectContext를 저장해야했습니다. 일단 내가 그 결과를 얻었습니다.

+0

예, 이것은 실제 문제입니다. NSDictionaryResultsType을 사용할 때 관리 객체 컨텍스트에서 보류중인 변경 결과를 가져올 수 없습니다. – Aderstedt

관련 문제