/ / कोर डेटा से लोड हो रहा है - iPhone, उद्देश्य-सी, कोर-डेटा

कोर डेटा से लोड हो रहा है - आईफोन, उद्देश्य-सी, कोर-डेटा

मैं विभिन्न संस्थाओं को कोर डेटा में सहेज रहा हूं। हर बार मुझे इस डेटा को एक्सेस करने की आवश्यकता होती है जिसे मैं कोर डेटा से पढ़ रहा हूं और आवश्यक इकाई को एक परिवर्तनशील सरणी में असाइन कर रहा हूं।

if (managedObjectContext == nil)
{
managedObjectContext = [(iForgetAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil)
{
// Handle the error.
NSLog(@"mutableFetchResults == nil");
}
[self setEventsArray:mutableFetchResults];
[eventsTableView reloadData];

समस्या यह है, मैं इस डेटा को ऐप के कई अलग-अलग पृष्ठों से पुनर्प्राप्त कर रहा हूं।

कोर डेटा का उपयोग करते समय सबसे अच्छा अभ्यास क्या है? क्या मुझे केवल ऐप डेलिगेट में डेटा लोड करना चाहिए और वहां सरणियाँ असाइन करनी चाहिए?

सभी सलाह बहुत सराहना की है।

उत्तर:

उत्तर № 1 के लिए 1

उत्परिवर्ती सरणियों के साथ आपका सेटअप पहले से ही खराब है। कोर डेटा, म्यूटेबल सरणियों की तुलना में यकीनन, फ़िल्टर और प्रदर्शित कर सकते हैं।

आपको ए का उपयोग करने पर विचार करना चाहिए NSFetchedResultsController अपना डेटा प्रदर्शित करने के लिए। आप विधेय और सॉर्ट वर्णनकर्ताओं का उपयोग करके फ़िल्टरिंग और सॉर्टिंग कर सकते हैं। इस तरह के समाधान को असीम रूप से अधिक मजबूत और मापनीय होना चाहिए।

बचत के बारे में आपके विशिष्ट प्रश्न के लिए, आप उस डेटा को बचाने के लिए प्रबंधित ऑब्जेक्ट संदर्भ (अपनी कक्षा में एक संदर्भ रखें या ऐप प्रतिनिधि से प्राप्त करें) का उपयोग कर सकते हैं।


उत्तर № 2 के लिए 1

का उपयोग करते हुए NSFetchedResultsController आपको अपनी इच्छित कार्यक्षमता प्रदान करता है। यह भी सुनिश्चित करें कि का उपयोग करें NSFetchedResultsControllerDelegate मसविदा बनाना। उपयोग NSFetchRequest छँटाई आदि के साथ पुनर्प्राप्ति करना।