प्रतिनिधि एक पैटर्न हैं जो कुछ ऑब्जेक्ट को किसी अन्य ऑब्जेक्ट को सूचित करने की अनुमति देता है जब सामान होता है। कई प्रतिनिधि विधियों को "इच्छा" या "किया" के साथ शुरू होता है जिसे क्रमशः घटना के पहले और बाद में बुलाया जाता है।
मान लें कि आपके पास UITableView
है, और आप जानना चाहते हैं कि उपयोगकर्ता सेल को टैप करता है ताकि आप उनकी पसंद को संसाधित कर सकें। आप तालिका दृश्य में एक प्रतिनिधि को असाइन करते हैं जो प्रतिनिधि विधि tableView:didSelectRowAtIndexPath:
लागू करता है।
इस दृष्टिकोण के बारे में अच्छी चीजें यह है कि तालिका दृश्य को यह पता नहीं होना चाहिए कि यह अन्य प्रतिनिधि वस्तु क्या है या यह कैसे काम करती है। यह घटनाओं को केंद्रित और साफ रहने के लिए उत्पन्न करने वाली वस्तु को अनुमति देता है, केवल अपने स्वयं के राज्य से निपटता है। जब यह कुछ उल्लेखनीय करता है, तो यह इसके प्रतिनिधि को एक संदेश भेजेगा। और प्रतिनिधि वस्तु को अन्य वस्तु की आंतरिक स्थिति के बारे में कुछ भी जानने की आवश्यकता नहीं है। इसे केवल यह जानना आवश्यक है कि उसने कुछ महत्वपूर्ण किया।
और यह आईफोन एसडीके के मॉडल/व्यू/कंट्रोलर (एमवीसी) दृष्टिकोण को फिट करता है। व्यू केवल इस बारे में चिंतित होना चाहिए कि यह स्वयं कैसे प्रदर्शित होता है, और जब चीजें बदलती हैं तो नियंत्रक दृश्य का प्रतिनिधि होता है।
प्रतिनिधियों के साथ प्रोग्रामिंग एक आवश्यक भाषा सुविधा उद्देश्य-सी नहीं है। यह केवल एक डिजाइन पैटर्न है जो एसडीके काफी उपयोग करता है। लेकिन यह एक काफी अच्छा पैटर्न है जो आपके कोड क्लीनर को रखने में मदद कर सकता है।
स्रोत
2010-07-24 08:47:19
संभावित रूप से http://stackoverflow.com/questions/3183146/what-do-mean-by-delegate-in-iphone- appplication और http://stackoverflow.com/questions/645449/how-to- उपयोग-कस्टम-प्रतिनिधि-इन-ऑब्जेक्ट-सी –
यह भी देखें http://stackoverflow.com/questions/1349706/little-confused-on-delegates-in-objective-c –