Objective-C Language
प्रोटोकॉल और प्रतिनिधि
खोज…
टिप्पणियों
प्रोटोकॉल और प्रतिनिधि दो संबंधित लेकिन अलग अवधारणा हैं:
एक प्रोटोकॉल एक इंटरफ़ेस है जो एक वर्ग के अनुरूप हो सकता है, जिसका अर्थ है कि वर्ग सूचीबद्ध तरीकों को लागू करता है।
एक प्रतिनिधि आमतौर पर एक अनाम वस्तु है जो एक प्रोटोकॉल के अनुरूप है।
डेलिगेट नामक प्रतिनिधि का आवेदन एक डिजाइन पैटर्न है।
एक छोर पर हमारे पास इनहेरिटेंस की अवधारणा है जो उपवर्ग और उसके सुपरक्लास के बीच एक तंग युग्मन बनाता है जबकि डेलिगेशन डिजाइन पैटर्न इस तंग युग्मन से बचने का एक विकल्प प्रदान करता है, जिसके उपयोग से हम अनाम डेलिगेट ऑब्जेक्ट्स के आधार पर बहुत अधिक शिथिल संबंध बना सकते हैं।
प्रोटोकॉल और प्रत्यायोजन तंत्र का कार्यान्वयन।
मान लीजिए कि आपके पास ViewA
और ViewB
दो विचार हैं
के कहने ViewB
अंदर बनाई गई है ViewA
, तो ViewA
को संदेश भेज सकते हैं ViewB's
उदाहरण हैं, लेकिन होने के लिए रिवर्स के लिए हम प्रतिनिधिमंडल लागू करने की आवश्यकता (प्रतिनिधि का उपयोग करते हुए इतना है कि ViewB's
उदाहरण के लिए संदेश भेज सकते हैं ViewA
)
प्रतिनिधिमंडल को लागू करने के लिए इन चरणों का पालन करें
ViewB
प्रोटोकॉल बनाएँ@protocol ViewBDelegate -(void) exampleDelegateMethod; @end
भेजने वाले वर्ग में प्रतिनिधि को घोषित करें
@interface ViewB : UIView @property (nonatomic, weak) id< ViewBDelegate > delegate; @end
क्लास व्यूए में प्रोटोकॉल को अपनाएं
@interfac ViewA: UIView < ViewBDelegate >
प्रतिनिधि को सेट करें
-(void) anyFunction { // create Class ViewB's instance and set the delegate [viewB setDelegate:self]; }
कक्षा
ViewA
में प्रतिनिधि पद्धति को लागू करें-(void) exampleDelegateMethod { // will be called by Class ViewB's instance }
प्रतिनिधि विधि को कॉल करने के लिए क्लास
ViewB
में विधि का उपयोग करें-(void) callDelegateMethod { [delegate exampleDelegateMethod]; //assuming the delegate is assigned otherwise error }