2009-11-24 8 views

उत्तर

6

एक प्रतिनिधि एक वस्तु है। एक प्रतिनिधि विधि एक तरीका है कि प्रतिनिधि वस्तु को लागू करने की उम्मीद है। कुछ प्रतिनिधि तरीकों की आवश्यकता है, जबकि कुछ नहीं हैं। आईओएस में, अधिकांश प्रतिनिधियों को एक उद्देश्य-सी प्रोटोकॉल के अनुरूप होने की उम्मीद है; प्रोटोकॉल घोषणा आपको बताएगी कि कौन सी विधियां वैकल्पिक हैं और जिनकी आवश्यकता है।

5

एक प्रतिनिधि बस एक वस्तु के लिए एक संदर्भ है और एक प्रतिनिधि विधि है प्रतिनिधि की एक विधि है।

एक प्रतिनिधि विधि कॉलबैक तंत्र है जो आमतौर पर प्रेषक के रूप में पैरामीटर में से एक कहा जा लेता लागू करता है।

42

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

प्रतिनिधि वस्तु को didSelectRowAtIndexPath विधि मिलती है और कोड को अंदर निष्पादित करता है।

कई अलग-अलग वस्तुओं के लिए कई प्रतिनिधि विधियां हैं। उदाहरण के लिए, टेक्स्ट फ़ील्ड ऑब्जेक्ट स्वयं कुछ भी नहीं कर सकता है। इसके बजाय, यह कार्य करने के लिए एक प्रतिनिधि का उपयोग करता है। यदि आप ऑन-स्क्रीन कीबोर्ड पर एंटर कुंजी दबाते हैं, तो टेक्स्ट फ़ील्ड प्रतिनिधि ऑब्जेक्ट को एक विशिष्ट विधि, textFieldShouldReturn करने के लिए कहता है। यदि आपके टेक्स्ट फ़ील्ड के लिए सेट प्रतिनिधि के पास टेक्स्टफ़िल्ल्डशल्डरेटर्न विधि नहीं है, तो टेक्स्ट फ़ील्ड नहीं जान पाएगा कि एंटर बटन दबाते समय क्या करना है।

क्या यह समझ में आता है?

+1

इससे बहुत मदद मिली। बहुत बहुत धन्यवाद! –

+0

वास्तव में बहुत अच्छी व्याख्या .. मैं प्रतिनिधि अवधारणा को समझाने के लिए प्रशिक्षुओं को एक ही उदाहरण दूंगा .. –

+0

महान उत्तर ... – konyv12

0

सभी आईओएस ऐप्स प्रतिनिधिमंडल का उपयोग करते हैं। यहां तक ​​कि बुनियादी भी। यह पहले से ही कोड में उपलब्ध है जो वे आपको देते हैं। अन्य भाषाओं में आप विरासत की तरह कुछ उपयोग करेंगे।

वास्तविक दुनिया की तरह ही एक प्रतिनिधि किसी को/कुछ या इस मामले में किसी वस्तु का प्रतिनिधित्व करता है।

उदाहरण के लिए यूआई ऑब्जेक्ट्स लें, उनके पास पहले से ही कार्य करने के लिए उनके तरीके हैं। लेकिन उन्हें आपके दृश्य नियंत्रक (ऑब्जेक्ट/कस्टम क्लास) से जोड़ा जा सकता है और वे आपके ऑब्जेक्ट की ज़िम्मेदारी निभा सकते हैं।

कुछ बातें याद करने के लिए:

  1. यह सब प्रतिनिधि प्रोटोकॉल का उपयोग किया।
  2. यह एक स्वैच्छिक बात है। इसलिए आपकी ऑब्जेक्ट प्रतिनिधि बनने का विकल्प चुनती है।
  3. प्रतिनिधि प्रोटोकॉल को देखें और विधियों को लागू करें। कुछ वैकल्पिक हैं और कुछ आवश्यक हैं।
  4. सुनिश्चित करें कि प्रतिनिधि वस्तु आपके ऑब्जेक्ट से जुड़ी है।
+0

आप बहुत करीब हैं, लेकिन मुझे लगता है कि आपका शब्द कुछ सुधार का उपयोग कर सकता है। मुझे लगता है कि यह कहना बेहतर होगा कि प्रतिनिधियों का उपयोग उन चीजों के लिए किया जाता है जो वस्तु स्वयं ही नहीं कर सकती हैं। UITableView कहें, यह एक वर्ग है जो एक टेबल को प्रबंधित और खींचती है, लेकिन यह सबकुछ अपने आप नहीं कर सकती है क्योंकि यह जानने के लिए कि कितनी पंक्तियां खींचना है, उन पंक्तियों की सामग्री इत्यादि। –