ios - Getting data from a container view -


मेरे UIViewController A में मेरे पास कुछ कंटेनर दृश्य है, जो कुछ अन्य UIViewController B लोड करता है । मैं चाहता हूं कि UIViewController A को अपने कंटेनर में क्या होता है, यह जानने में सक्षम हो जाएगा।

समस्या यह है, कि मुझे कंटेनर से एक्सेस नहीं मिल पा रही है इस में। उदाहरण के लिए कंटेनर के पास एक textfield के साथ एक दृश्य नियंत्रक है और मैं जानका ए को जानना चाहता हूं कि जब कोई टाइपिंग शुरू करेगा।

मुझे प्रतिनिधियों का उपयोग करना चाहिए, या कंटेनर व्यू से डेटा प्राप्त करने का एक तरीका है?

एक बच्चा UIViewController यह माता-पिता parentViewController` के साथ है और इसका उपयोग माता-पिता को संदेश भेजने के लिए करता है आप इसे सीधे कर सकते हैं, लेकिन ...

इंटरैक्शन के स्तर पर निर्भर करते हुए यह एक इंटरफ़ेस बनाने के लिए सबसे अच्छा हो सकता है कि माता-पिता UIViewController लागू करता है। जब बच्चा UIViewController को माता-पिता में जोड़ा जाता है, तो इंटरफ़ेस को कार्यान्वित करने वाले ऑब्जेक्ट का संदर्भ मिलता है। यह वस्तुओं के बीच एक मजबूत बातचीत प्रदान करता है, लेकिन यह भी उचित encapsulation रखता है, और यह प्रतिनिधि प्रतिमान है।

तो मेरा जवाब है, आप प्रतिनिधि पैटर्न का उपयोग नहीं करना है, लेकिन ऐसा लगता है कि उपयुक्त समाधान यदि आप प्रतिनिधि पैटर्न का उपयोग नहीं करते हैं, तो आप अपने आप को ऑब्जेक्ट्स की एक जोड़ी से जोड़ सकते हैं, जिससे आप बहुत अधिक जोड़ सकते हैं और साथ ही आपने इसे एक ऑब्जेक्ट बनाया है।

  // कहीं अपने दृश्य नियंत्रक ए आप बी को एक बच्चे के रूप में जोड़ना चाहते हैं B * b = [[बी आलोक] init]; // दृश्य नियंत्रक बनाएँ बी b.delegate = self; // सेट ए के प्रतिनिधि के रूप में बी // जोड़ें बी बच्चे के रूप में [स्वयं addChildViewController: b]; [Self.container देखें जोड़ेंस्व्यूव्यू: बी.वे्यू];  

जब बी को एक बच्चे के रूप में A में जोड़ा जाता है तो प्रतिनिधि को सेट हो जाता है। मान लें कि एक इंटरफ़ेस लागू करता है, B में @property (कमजोर, नॉनैटोमिक) आईडी & lt; MySomethingDelegate & gt; प्रतिनिधि बी किसी भी बिंदु पर किसी भी प्रतिनिधि विधि को कॉल करने में सक्षम होना चाहिए।


Comments