वस्तु उदाहरणों के लिए हम अपनी कक्षा में के रूप में कुछ प्रोटोकॉल अनुरूपता की घोषणा हो सकती है?ओबीजेसी: क्या "कक्षा प्रोटोकॉल" जैसी कोई चीज है?</p> <pre><code>@protocol P <NSObject> - (void) someMethod ; @end @interface C : NSObject <P> @end @implementation C - (void) someMethod { } @end </code></pre> <p>लेकिन क्या कक्षाओं के बारे में:
मैं इस स्थिति में अपने आप को लगता है:
...
Class c = [self modelClass:kind] ;
if (c) {
model = [c performSelector: @selector(decode:)
withObject: [SExpIO read: [fm contentsAtPath:target]]] ;
}
और मैं मुझे घोषित करने के लिए वर्ग तरीकों के लिए प्रोटोकॉल के रूप में ऐसी बात नहीं है कि के लिए एक तरह से वहाँ थे कामना करते हैं।
उपरोक्त उदाहरण में, सभी वर्गों कि ग एक वर्ग उदाहरण हो सकता है (हममम ??) की घोषणा
+ (id) decode: (SExp *) root ;
वहाँ एक रास्ता है कि मैं में ऊपर परिवर्तित कर है:
if (c) {
model = [c decode: [SExpIO read: [fm contentsAtPath:target]]]
}
एक उपयुक्त "वर्ग प्रोटोकॉल" घोषणा का उपयोग करके
?
उत्कृष्ट! धन्यवाद – verec