में आईडी से कक्षा तक डायनामिक टाइप कास्ट मैं उद्देश्य सी और गति उदाहरण गुणों में गतिशील रूप से डालना चाहता हूं। यहाँ एक छद्म कोड:उद्देश्य सी
id obj;
if (condition1)
obj = (Class1*)[_fetchedResults objectAtIndex:indexPath.row];
else
obj = (Class2*)[_fetchedResults objectAtIndex:indexPath.row];
NSNumber *latitude = obj.latitude;
फिर संकलक मुझसे कहता है निम्नलिखित: संपत्ति 'अक्षांश' प्रकार की वस्तु पर नहीं मिला 'आईडी __strong'
या तो Class1 और Class2 कोर डेटा संस्थाओं कर रहे हैं और लगभग एक ही तरह के गुण हैं। स्थिति 1 _fetchedResults कक्षा 1 के प्रकार की वस्तुएं लौटाता है और स्थिति 2 _fetchedResults कक्षा 2 प्रकार की वस्तुएं लौटाता है।
क्या कोई मुझे इस तरह की समस्या को हल करने का संकेत दे सकता है?
धन्यवाद!
मुझे लगता है कि आपको पहले यह सुनिश्चित करना चाहिए कि [_fetchedResults objectAtIndex: indexPath.row] रिटर्न क्लास अक्षांश गुण है। साथ ही, किसी NSManagedObject प्रकार को किसी NSManagedObject प्रकार को कास्टिंग करना गलत है। जब भी आप एक NSManagedObject उदाहरण बनाते हैं तो आपको एक NSManagedObjectContext की आवश्यकता होती है। –