2009-11-23 4 views
7

आप UITextView के "प्रतिनिधि" आउटलेट को उस वर्ग में कैसे कनेक्ट करते हैं जो UITextViewDelegate प्रोटोकॉल लागू करता है?UITextViewDelegate प्रोटोकॉल को लागू करने वाली कक्षा में UITextView के "प्रतिनिधि" आउटलेट को आप कैसे कनेक्ट करते हैं?

मैं एक उदाहरण खोजने के लिए नहीं कर पा रहे in the docs

अजीब बात UITextView के "प्रतिनिधि" आउटलेट कि खींचें 'एन, इंटरफ़ेस thingy ड्रॉप की तरह आप एक और विजेट अप करने के लिए यह तार कर सकते हैं की लेकिन है बेशक, मैं इसे एक विजेट तक तार नहीं करना चाहता, मैं इसे मौजूदा वर्ग तक तार करना चाहता हूं।

उत्तर

3

यदि आप मतलब है, सिर्फ सेट प्रतिनिधि संपत्ति "कैसे मैं एक वस्तु है कि कोड के साथ अपने पाठ को देखने के लिए प्रतिनिधि बनाई गई है कर सकता हूँ" (यह क्या इंटरफ़ेस बिल्डर में खींचकर आप के लिए क्या करेंगे है):

textView.delegate = yourDelegateObject; 
+0

ठीक है प्रदान की है, लेकिन, क्या आपको पता है क्यों यह like_ आउटलेट _looks एक विजेट पर भी खींचा जा सकता है? आप आउटलेट को कोड के टुकड़े पर खींच नहीं सकते हैं, तो यह इस तरह से डिज़ाइन क्यों किया गया है? – bobobobo

+1

आप इंटरफ़ेस बिल्डर में किसी ऑब्जेक्ट को तुरंत चालू कर सकते हैं, उदाहरण के लिए आपकी ऑब्जेक्ट प्रतिनिधि होगी, और उसे खींचें। यदि आप ऐसा करना चाहते हैं, तो इंटरफ़ेस बिल्डर पैलेट (ऑब्जेक्ट्स और कंट्रोलर के तहत) से "ऑब्जेक्ट" बनाएं, फिर वर्ग को पहचान निरीक्षक में अपनी कक्षा में सेट करें। जब निब लोड हो जाता है, तो आपकी कक्षा तुरंत चालू हो जाएगी, इसलिए सुनिश्चित करें कि यह आपके कोड में भी न करें। – Rhult

+0

स्वीट। इस तरह काम करता है। – bobobobo

6

इंटरफ़ेस बिल्डर में एक प्रतिनिधि ऊपर तार करने के लिए:

(1) महत्वपूर्ण व्यक्ति मुख्य विंडो में एक उपयुक्त नियंत्रक खींचें और अपने प्रतिनिधि के वर्ग के नियंत्रक के वर्ग निर्धारित किया है। उदाहरण के लिए, यदि आपके पास "MyDelegateClass" नामक एक NSObject उपclass है, तो Object नियंत्रक को खींचें और इसे "MyDelegateClass" पर सेट करें।

(2) UITextView के लिए कनेक्शन इंस्पेक्टर में, delegate पर नियंत्रण-क्लिक करें और चरण (1) में बनाए गए नियंत्रक से कनेक्ट करें।

यही है।

+0

पर्याप्त उचित लगता है, लेकिन अब जब मैं एप्लिकेशन चलाता हूं, तो जब भी मैं टेक्स्ट दृश्य को स्पर्श करता हूं तो एप्लिकेशन चेतावनी के बिना दुर्घटनाग्रस्त हो जाता है .. – bobobobo

+0

हाँ। और एप्लिकेशन काम करता है जब मैं 'textView.delegate = yourDelegateObject; 'विधि का उपयोग करता हूं जो राल्फ वार्ता करता है। – bobobobo

+1

राल्ट की विधि प्रोग्रामिक विधि है। यह वह है जिसे मैं ज्यादातर समय उपयोग करता हूं क्योंकि आईबी में गलतियों को ढूंढना मुश्किल है। मैंने सोचा था कि आप जानना चाहते हैं कि इसे इंटरफ़ेस बिल्डर में कैसे सेट अप करें और ऐसा करने के लिए यह सही तरीका है। एक दुर्घटना का सुझाव है कि आपके पास अभी भी प्रतिनिधि को सही तरीके से असाइन नहीं किया गया है। याद रखें कि आपको टेबल, एक प्रतिनिधि और डेटासोर्स के लिए दो प्रोटोकॉल पूरे करना होगा। एक ही कक्षा/उदाहरण दोनों को कार्यान्वित कर सकता है लेकिन आपको आईबी में टेबल 'प्रतिनिधि' और 'डेटासोर्स' आउटलेट को तार करना होगा। – TechZen

6

यह एक बहुत पुराना सवाल है, लेकिन मुझे इसके साथ भी परेशानी थी और मुझे लगा कि मैं एक अद्यतित एक्सकोड 5 समाधान साझा करूंगा।

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

enter image description here

+0

बिल्कुल वही जो मैं खोज रहा था। बहुत बहुत धन्यवाद!! –

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