2010-08-30 9 views
9

आप इन तरीकों का उपयोग कब/क्यों करेंगे?जब/क्यों/UINavigationControllerDelegate प्रोटोकॉल इंस्टेंस विधियों का उपयोग कैसे करें?

- navigationController:willShowViewController:animated: 
– navigationController:didShowViewController:animated: 

क्या आप इसके बजाय इन UIViewController इंस्टेंस विधियों का उपयोग नहीं कर सकते हैं?

– viewWillAppear: 
– viewDidAppear: 
– viewWillDisappear: 
– viewDidDisappear: 

उत्तर

16

आप पहली बार लोगों का उपयोग आप इन घटनाओं बाहर दिखाई दृश्य नियंत्रकों के बारे में सूचित करने के लिए चाहते हैं, तो चाहते हैं। प्रतिनिधि आपको एक बिंदु पर अधिसूचना प्राप्त करने की अनुमति देते हैं। UIViewController के तरीकों का उपयोग इन नियंत्रकों के भीतर आपको बाध्य करता है, जहां आपको इसे प्राप्त करने के लिए एक ही कोड को कई बार लिखना/कॉल करना होगा।

आम तौर पर आप इन दो समूहों में कार्य विभाजित हैं:

  • चीज़ें है कि सभी दृश्य नियंत्रकों के बीच होने वाले: प्रतिनिधियों एकल दृश्य नियंत्रक के भीतर हो रहा
  • हालात का उपयोग करें: उदाहरण का उपयोग विधियों
1

UINavigationControllerDelegate प्रोटोकॉल विधियों को परिभाषित करता है na नियंत्रक को धक्का दिया जाता है और नेविगेशन नियंत्रक के ढेर से पॉप-अप होने पर व्यवहार को बदलने के लिए विजन नियंत्रक प्रतिनिधि लागू कर सकता है।

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

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