objective c - Can an inherited @property not satisfy a <protocol> @property? -


मुझे एक प्रोटोकॉल मिला है:

  @protocol गैजेट & lt; NSObject & gt; @ प्रॉपर्टी (केवल पढ़ने के लिए) UIView * दृश्य; - (शून्य) attachViewToParent: (UIView *) parentView;  - (UIView *) दृश्य : 

और एक "सार" आधार वर्ग, कार्यान्वयन के साथ (एक गेटर्स के रूप में, न दिखाया गया है) देखें > <पूर्व> // आधार कार्यक्षमता @ इंटरेस्ट एब्जेक्ट गैजेट: एनएसओबीजेक्ट {UIView * view; } @ प्रॉपर्टी (केवल पढ़ने के लिए) UIView * दृश्य; @end

लेकिन जब मैं AbstractGadget के उप-वर्ग में गैजेट प्रोटोकॉल को लागू करता हूं, तो ऐसा:

  // कंक्रीट @ इंटर्फ़ेस ब्लूगैजेट: एब्ट गैजेट और लेफ्टिनेंट; गैजेट & gt; {} - (शून्य) attachViewToParent: (UIView *) parentView; @end @implementation BlueGadget - (शून्य) attachViewToParent: (UIView *) parentView {// ...} @end  

मुझे एक कंपाइलर त्रुटि कह रही है " चेतावनी: संपत्ति 'दृश्य' को परिभाषित करने के लिए विधि '-दृश्य' की आवश्यकता है । " मैं इसे @ डायनामिक का उपयोग कर, या एक स्टब विधि जोड़कर जा सकते हैं:

  - (UIView *) दृश्य {वापसी [सुपर दृश्य]; }  

लेकिन मैं सिर्फ जानना चाहता हूं कि क्या मैं कुछ ऐसा कर रहा हूं जो समर्थित नहीं है, मुझे कुछ नहीं करना चाहिए, या यदि यह संकलक में केवल एक सीमा / बग है?

कहीं और कार्यान्वित (संभवतः रनटाइम पर) यह मुझे बिल्कुल उचित उपयोग के मामले की तरह लगता है।

अधिक जानकारी के लिए देखें।


Comments