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

iPhone में दो व्यू कंट्रोलर के बीच संचार के लिए सिंपल डेलीगेट सेटअप


इस लेख में, आप डेलीगेट के बारे में सीखेंगे और डेलीगेट बनाएंगे। सबसे पहले,

डेलीगेट क्या है?

डेलीगेट एक सरल शब्द है जो ऑब्जेक्ट के बीच संचार को संदर्भित करता है। यह ऑब्जेक्ट को जोड़ने और उनके बीच संचार का एक सरल तरीका है।

डेलीगेट कैसे काम करता है?

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

डेलीगेट कैसे बनाएं?

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

कदम:

  1. एक क्लास बनाएं, नाम दें FirstViewController, दूसरी क्लास बनाएं और इसे SecondViewController कहें। स्टोरीबोर्ड में उनके संबंधित व्यू कंट्रोलर बनाएं।
  2. SecondViewController में एक प्रोटोकॉल घोषित करें, एक प्रोटोकॉल को किसी भी क्लास या अन्य ऑब्जेक्ट के बाहर घोषित किया जाता है।
protocol SecondViewControllerDelegate {
    func buttonPressedInVC2()
}
  1. SecondViewController में, हमारे द्वारा अभी बनाए गए डेलीगेट का एक वैकल्पिक ऑब्जेक्ट बनाएं:
var delegate: SecondViewControllerDelegate?
  1. हमें प्रोटोकॉल में घोषित फ़ंक्शन को कॉल करने की आवश्यकता है, जब SecondViewController में कुछ घटना होती है, आइए एक घटना बनाएं जो सेकेंड व्यू कंट्रोलर में बटन दबाए जाने पर होती है।
@IBAction func buttonTapped(_ sender: UIButton) {
    self.delegate?.buttonPressedInVC2()
    self.navigationController?.popViewController(animated: true)
}

यह SecondViewController के लिए आवश्यक सब कुछ है, अब FirstViewController पर काम करते हैं।

  1. हमें FirstViewController को SecondViewControllerDelegate के अनुरूप/कार्यान्वित करने की आवश्यकता है, और यह स्वचालित रूप से आपसे प्रोटोकॉल स्टब्स जोड़ने के लिए कहेगा।
extension FirstViewController: SecondViewControllerDelegate {
    func buttonPressedInVC2() { }
}
  1. हमारे द्वारा अभी कार्यान्वित प्रोटोकॉल के अंदर हमें वह कोड लिखना चाहिए जिसे हम निष्पादित करना चाहते हैं जब यह डेलीगेट क्रिया होती है।

FirstViewController में एक लेबल बनाएं और जब डेलीगेट मेथड कॉल हो तो उसका टेक्स्ट बदलें।

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

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

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

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

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

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

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

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