मेरे पास एक वर्ग है (लेकिन कोई उदाहरण नहीं है) और यह जानने की आवश्यकता है कि क्या यह एक निश्चित प्रोटोकॉल के अनुरूप है। हालाँकि, क्लास को कई बार उप-वर्ग किया जा सकता है और class_conformsToProtocol () सुपरक्लैसेस पर घोषित प्रोटोकॉल को अनदेखा करता है।
मैं बस class_getSuperclass () का उपयोग कर सकता हूं और सुपरक्लास के शून्य होने तक पदानुक्रम में सभी कक्षाओं की पुनरावृत्ति कर सकता हूं। हालांकि मुझे आश्चर्य है कि अगर यह गहरी नेस्टेड श्रेणी पदानुक्रमों के लिए अक्षम हो सकता है, और शायद ऐसा करने का एक अच्छा तरीका है?
दूसरे शब्दों में, कैसे NSObject विधि के रूप में, ऑब्जेक्टिव-सी रनटाइम विधियों का उपयोग करके सबसे अच्छा लागू किया जाता है ताकि यह सुपरक्लास पर प्रोटोकॉल का पता लगा सके?
[myObject conformsToProtocol:@protocol(MyProtocol)];
अगर मैं सही तरीके से क्लास पदानुक्रम के साथ ऊपर जा रहा हूँ तो मुझे बताएं।