मैं UINavigationController
और UIViewController
एस के बारे में सीख रहा हूं। मेरे द्वारा निर्मित सरल ऐप यहां दिया गया है। ध्यान दें कि मैं एआरसी का उपयोग करता हूं।कैसे UINavigationController और UIViewController काम करता है?
मेरे ऐप में एक नेविगेशन नियंत्रक और दो व्यू कंट्रोलर हैं (चलो उन्हें FirstViewController
और SecondViewController
पर कॉल करें)। जब ऐप लॉन्च किया जाता है तो नेविगेशन नियंत्रक स्टैक पर FirstViewController
दबाता है।
FirstViewController
में मेरे पास एक बटन है जो छुपाए जाने पर द्वितीय दृश्य नियंत्रक को दबाता है। यहां कुछ कोड है।
FirstViewController.m
-(IBAction)pushSecondViewController
{
SecondViewController *secondViewController = [SecondViewController alloc]init];
[self.navigationController pushViewController:secondViewController animated:YES];
}
दूसरे दृश्य नियंत्रक में मैं एक बटन जो ढेर से वर्तमान दृश्य नियंत्रक पॉप की है।
SecondViewController.m
-(IBAction)popViewController
{
[self.navigationController popViewControllerAnimated:YES];
}
अब तक तो अच्छा। यहां मेरे प्रश्न हैं:
क्या नेविगेशन नियंत्रक SecondNavigationController
के मौजूदा उदाहरण के लिए जांच करता है और यदि ऐसा नहीं है तो यह एक नया बनाता है?
यदि नहीं, तो क्या मुझे यह सुनिश्चित करने के लिए सिंगलटन का उपयोग करना चाहिए कि SeconViewController
को दबाए जाने वाले बटन को हर बार एक नया उदाहरण बनाने के बजाय केवल एक उदाहरण बनाया और पुन: उपयोग किया जाए?
नहीं, मैं दूसरे दृश्य नियंत्रक के आसपास नहीं रखना चाहता हूं। मैं उत्सुक था कि नेविगेशन नियंत्रक कैसे काम करता है। स्पष्टीकरण के लिए धन्यवाद! – ihodo
एक नया विषय शुरू करने के क्रम में।यदि मेरे ऐप में चार व्यू कंट्रोलर कहते हैं, तो पहले और दूसरे व्यू कंट्रोलर ऐप में केवल एक बार उपयोग किए जाते हैं। क्या मुझे उन्हें पॉप करना चाहिए ([self.navigationController popViewControllerAnimated: YES]) नेविगेशन नियंत्रक से स्मृति का उपयोग न करने के क्रम में? – ihodo
नहीं, केवल नेविगेशन स्टैक को ऊपर और नीचे जाने के लिए पुशिंग और पॉपिंग का उपयोग करें। – jrturton