核心数据NSFetchRequest setResultType:NSDictionaryResultType不起作用

时间:2011-08-11 00:06:00

标签: ios core-data

将NSFetchRequest结果类型设置为NSDictinaryResultType时,将返回零对象。如果我删除setPropertiesToFetch和setResultType,则返回所有对象。

有什么想法吗?

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]);
}

1 个答案:

答案 0 :(得分:10)

问题是我需要在插入新对象后保存mangedObjectContext。一旦我这样做,我得到了我正在寻找的结果。