2010-07-24 7 views
5

में एक प्रतिनिधि का उपयोग करने के मैं एक नए iPhone प्रोग्रामरक्यों और जहां उद्देश्य सी

मैं एक कार्यक्रम, एक प्रतिनिधि के बिना चला सकते हैं तो क्यों उन्हें इस्तेमाल प्रतिनिधियों के बिना कुछ छोटे विचारों .... बनाया है कर रहा हूँ । उनके लिए क्या ज़रूरत है, मैंने नेट पर प्रतिनिधियों के कुछ कार्यक्रम देखे हैं।

मैं उलझन में हूं, कृपया उत्तर दें।

+0

संभावित रूप से http://stackoverflow.com/questions/3183146/what-do-mean-by-delegate-in-iphone- appplication और http://stackoverflow.com/questions/645449/how-to- उपयोग-कस्टम-प्रतिनिधि-इन-ऑब्जेक्ट-सी –

+0

यह भी देखें http://stackoverflow.com/questions/1349706/little-confused-on-delegates-in-objective-c –

उत्तर

10

प्रतिनिधि एक पैटर्न हैं जो कुछ ऑब्जेक्ट को किसी अन्य ऑब्जेक्ट को सूचित करने की अनुमति देता है जब सामान होता है। कई प्रतिनिधि विधियों को "इच्छा" या "किया" के साथ शुरू होता है जिसे क्रमशः घटना के पहले और बाद में बुलाया जाता है।

मान लें कि आपके पास UITableView है, और आप जानना चाहते हैं कि उपयोगकर्ता सेल को टैप करता है ताकि आप उनकी पसंद को संसाधित कर सकें। आप तालिका दृश्य में एक प्रतिनिधि को असाइन करते हैं जो प्रतिनिधि विधि tableView:didSelectRowAtIndexPath: लागू करता है।

इस दृष्टिकोण के बारे में अच्छी चीजें यह है कि तालिका दृश्य को यह पता नहीं होना चाहिए कि यह अन्य प्रतिनिधि वस्तु क्या है या यह कैसे काम करती है। यह घटनाओं को केंद्रित और साफ रहने के लिए उत्पन्न करने वाली वस्तु को अनुमति देता है, केवल अपने स्वयं के राज्य से निपटता है। जब यह कुछ उल्लेखनीय करता है, तो यह इसके प्रतिनिधि को एक संदेश भेजेगा। और प्रतिनिधि वस्तु को अन्य वस्तु की आंतरिक स्थिति के बारे में कुछ भी जानने की आवश्यकता नहीं है। इसे केवल यह जानना आवश्यक है कि उसने कुछ महत्वपूर्ण किया।

और यह आईफोन एसडीके के मॉडल/व्यू/कंट्रोलर (एमवीसी) दृष्टिकोण को फिट करता है। व्यू केवल इस बारे में चिंतित होना चाहिए कि यह स्वयं कैसे प्रदर्शित होता है, और जब चीजें बदलती हैं तो नियंत्रक दृश्य का प्रतिनिधि होता है।

प्रतिनिधियों के साथ प्रोग्रामिंग एक आवश्यक भाषा सुविधा उद्देश्य-सी नहीं है। यह केवल एक डिजाइन पैटर्न है जो एसडीके काफी उपयोग करता है। लेकिन यह एक काफी अच्छा पैटर्न है जो आपके कोड क्लीनर को रखने में मदद कर सकता है।

+0

आपको बहुत धन्यवाद – Saawan

संबंधित मुद्दे