2011-08-11 19 views
5

NSDictinaryResultType için bir NSFetchRequest sonuç türü belirlenirken, sıfır nesneler döndürülür. SetPropertiesToFetch ve setResultType'ı kaldırırsam, tüm nesneler döndürülür.Temel Veriler NSFetchRequest setResultType: NSDictionaryResultType çalışmıyor

Herhangi bir fikrin var mı?

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

cevap

10

Sorun, yeni nesneler ekledikten sonra mangedObjectContext dosyasını kaydetmem gerekti. Bunu yaptıktan sonra aradığım sonuçları aldım.

+0

Evet, bu gerçek bir yakalama. NSDictionaryResultsType kullanırken, yönetilen nesne bağlamında bekleyen değişikliklerin sonuçlarını alamazsınız. – Aderstedt

İlgili konular