मेरा एक सैद्धांतिक प्रश्न है। अब मैं Apple का ViewController गाइड पढ़ रहा हूं ।
उन्होंने लिखा:
जब प्रस्तुत दृश्य नियंत्रक को खारिज करने का समय आता है, तो पसंदीदा दृष्टिकोण प्रस्तुतकर्ता नियंत्रक को इसे खारिज करने देता है। दूसरे शब्दों में, जब भी संभव हो, दृश्य नियंत्रक प्रस्तुत करने वाला वही दृश्य नियंत्रक को इसे खारिज करने की जिम्मेदारी भी लेनी चाहिए। यद्यपि प्रस्तुत दृश्य नियंत्रक को सूचित करने के लिए कई तकनीकें हैं कि इसके प्रस्तुत दृश्य नियंत्रक को खारिज कर दिया जाना चाहिए, पसंदीदा तकनीक प्रतिनिधि है।
लेकिन मैं यह नहीं समझा सकता कि मुझे प्रस्तुत वीसी में एक प्रोटोकॉल क्यों बनाना है और डेलीगेट वेरिएबल को जोड़ना है, वीसी को प्रस्तुत करने के लिए वीसी को प्रस्तुत करने में प्रतिनिधि विधि बनाना है, प्रस्तुत व्यू कंट्रोलर विधि में एक साधारण कॉल के बजाय
[self dismissViewControllerAnimated:NO completion:nil]?
पहली पसंद बेहतर क्यों है? Apple इसकी सिफारिश क्यों करता है?
presentingViewControllerकरना ज्यादातर बेकार है क्योंकि यह संदर्भित करेगा किUINavigationControllerक्याselfएक में एम्बेडेड है। किस स्थिति में, आप बिलकुल नहीं मिल पाएंगेpresentingViewController। फिर भी,[self dismissViewControllerAnimated:completion]अभी भी उस मामले में काम करता है। मेरा सुझाव यह है कि जब तक Apple इसे ठीक नहीं करता, तब तक इसका उपयोग जारी रहेगा।