2011-08-11 7 views
5

NSFetchRequest परिणाम प्रकार को NSDictinaryResultType पर सेट करते समय, शून्य ऑब्जेक्ट्स लौटाए जाते हैं। अगर मैं 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

नई ऑब्जेक्ट्स डालने के बाद मैंगडऑब्जेक्ट कॉन्टेक्स्ट को सहेजने के लिए मुझे समस्या की आवश्यकता थी। एक बार ऐसा करने के बाद मुझे वह परिणाम मिलते हैं जिन्हें मैं ढूंढ रहा था।

+0

हां, यह एक असली गॉचा है। NSDictionaryResultsType का उपयोग करते समय आप प्रबंधित ऑब्जेक्ट संदर्भ पर लंबित परिवर्तनों के परिणाम प्राप्त नहीं कर सकते हैं। – Aderstedt

संबंधित मुद्दे