Базовые данные NSFetchRequest setResultType: NSDictionaryResultType не работает - PullRequest
5 голосов
/ 11 августа 2011

При установке типа результата 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 Ответ

10 голосов
/ 11 августа 2011

Проблема была в том, что мне нужно было сохранить mangedObjectContext после вставки новых объектов.Как только я это сделал, я получил результаты, которые искал.

...