एक अनौपचारिक प्रोटोकॉल, एक वर्ग नहीं इसी कार्यान्वयन के साथ NSObject पर घोषित था के रूप में Jonnathan ने कहा, आम तौर पर (सबसे अधिक बार - वहाँ दुर्लभ एक है कि NSObject पर डमी कार्यान्वयन प्रदान किया था)।
10.6 (और आईफोन एसडीके में) के रूप में, इस पैटर्न का अब उपयोग नहीं किया जाता है। विशेष रूप से, 10.5 (और पूर्व) में इस प्रकार है क्या घोषित किया गया था:
@interface NSObject(NSApplicationNotifications)
- (void)applicationWillFinishLaunching:(NSNotification *)notification;
...
@interface NSObject(NSApplicationDelegate)
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
...
अब घोषित किया जाता है के रूप में:
@protocol NSApplicationDelegate <NSObject>
@optional
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
...
- (void)applicationWillFinishLaunching:(NSNotification *)notification;
...
है, अनौपचारिक प्रोटोकॉल अब के रूप में @protocol
रों @optional
तरीकों में से एक समूह के साथ घोषणा की जाती है ।
किसी भी मामले में, एक अनौपचारिक प्रोटोकॉल विधि घोषणाओं का एक संग्रह है जिससे आप व्यवहार को बदलने के तरीकों को वैकल्पिक रूप से कार्यान्वित कर सकते हैं। आम तौर पर, लेकिन हमेशा नहीं, विधि कार्यान्वयन प्रतिनिधिमंडल के संदर्भ में प्रदान किया जाता है (एक तालिका दृश्य के डेटा स्रोत को कुछ आवश्यक तरीकों को लागू करना होगा और उदाहरण के लिए वैकल्पिक रूप से कुछ अतिरिक्त विधियों को लागू करना चाहिए)।
तो अपने 'उपवर्गीकरण "बात के बारे में और उसके बाद उन्हें लागू? मैं <प्रोटोकॉल/श्रेणी> वाक्यविन्यास का प्रयास कर रहा था। – itsaboutcode