Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> IOS

आईफोन में दो व्यू कंट्रोलर के बीच संवाद करने के लिए एक साधारण प्रतिनिधि सेट करें

<घंटा/>

इस लेख में, आप प्रतिनिधियों और प्रतिनिधियों को बनाने के बारे में जानेंगे। सबसे पहले,

प्रतिनिधि क्या है?

प्रतिनिधि एक साधारण शब्द है जो वस्तुओं के बीच संचार को संदर्भित करता है। यह वस्तुओं और उनके बीच संचार को जोड़ने का एक आसान तरीका है।

प्रतिनिधि कैसे काम करता है?

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

एक प्रतिनिधि कैसे बनाएं?

हम इसे एक उदाहरण प्रोजेक्ट की मदद से करेंगे।

प्रदर्शन करने के लिए कदम -

  • एक वर्ग बनाएँ, इसे FirstViewController नाम दें, दूसरी कक्षा बनाएँ और इसे SecondViewController नाम दें। स्टोरीबोर्ड में उनके संबंधित व्यू कंट्रोलर बनाएं।

  • सेकेंड व्यू कंट्रोलर में एक प्रोटोकॉल घोषित करें, किसी भी वर्ग या अन्य वस्तुओं के बाहर एक प्रोटोकॉल घोषित किया जाता है।

protocol SecondViewControllerDelegate {
   func buttonPressedInVC2()
}
  • सेकेंड व्यू कंट्रोलर में, हमारे द्वारा अभी बनाए गए प्रतिनिधि का एक वैकल्पिक ऑब्जेक्ट बनाएं,

var delegate: SecondViewControllerDelegate?
  • हमें प्रोटोकॉल में घोषित फ़ंक्शन को कॉल करने की आवश्यकता है, जब सेकंड व्यू कंट्रोलर में कुछ घटना होती है, तो एक ईवेंट बनाएं जो दूसरे व्यू कंट्रोलर में एक बटन दबाए जाने पर होता है।

@IBAction func buttonTapped(_ sender: UIButton) {
   self.delegate?.buttonPressedInVC2()
   self.navigationController?.popViewController(animated: true)
}

सेकेंड व्यू कंट्रोलर में यह सब आवश्यक है, अब फर्स्ट व्यू कंट्रोलर पर काम करते हैं।

  • हमें FirstViewController को SecondViewControllerDelegate के अनुरूप/कार्यान्वित करने की आवश्यकता है, और यह स्वचालित रूप से आपको प्रोटोकॉल स्टब्स जोड़ने के लिए कहेगा।

extension FirstViewController: SecondViewControllerDelegate {
   func buttonPressedInVC2() { }
}
  • जिस प्रोटोकॉल को हमने अभी लागू किया है उसके अंदर हमें वह कोड लिखना चाहिए जिसे हम निष्पादित करना चाहते हैं जब यह प्रतिनिधि कार्रवाई होती है।

    आइए FirstViewController में एक लेबल बनाएं और डेलिगेट मेथड को कॉल करने पर उसका टेक्स्ट बदलें।

extension FirstViewController: SecondViewControllerDelegate {
   func buttonPressedInVC2() {
      self.lblOne.text = "Delegate Implemented"
   }
}
  • एक आखिरी कदम यह है कि सेकेंड व्यू कंट्रोलर में प्रतिनिधि ऑब्जेक्ट वैकल्पिक है और इसे असाइन किए जाने तक शून्य होगा, इसलिए फर्स्ट व्यू कंट्रोलर में हम फर्स्ट व्यू कंट्रोलर से सेकेंड व्यू कंट्रोलर पर जाते समय उस ऑब्जेक्ट को असाइन करेंगे।

    आइए उसके लिए FirstViewController में एक बटन बनाएं।

@IBAction func goToNextVC(_ sender: Any) {
   let vc = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
   vc.delegate = self
   self.navigationController?.pushViewController(vc, animated: true)
}
  • और अगर आपको अभी तक इसका एहसास नहीं हुआ है, तो हमें नेविगेशन कंट्रोलर में FirstViewController को एम्बेड करना होगा। आइए ऐप चलाएं और देखें कि यह कैसे काम करता है।

आईफोन में दो व्यू कंट्रोलर के बीच संवाद करने के लिए एक साधारण प्रतिनिधि सेट करें


  1. आईफोन हॉटस्पॉट कैसे सेट करें

    क्या आपने कभी चाहा है कि आप अपने iPhone के 3G/4G सेल्युलर कनेक्शन को केवल पास के वाई-फ़ाई डिवाइस, जैसे लैपटॉप और गैर-सेलुलर iPads के साथ साझा कर सकें? आप भाग्य में हैं:एक पोर्टेबल वाई-फाई हॉटस्पॉट के रूप में एक आईफोन को स्थापित करना आसान है, जो किसी भी व्यक्ति के लिए अपना वेब कनेक्शन खोलता है और पास

  1. IPhone पर पासकोड कैसे सेट करें

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

  1. IPhone पर फेस आईडी कैसे सेट करें

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