मैं अपने आईओएस 6/आईओएस 6 ऐप में एनआईबी फाइलों के साथ कई स्टोरीबोर्ड मिश्रण कर रहा हूं।आईओएस में एकाधिक स्टोरीबोर्ड + मेमोरी मैनेजमेंट
स्मृति प्रबंधन एकाधिक स्टोरीबोर्ड के साथ कैसे काम करता है?
- एक storyboardA शुरू करने पर, अगर मैं एक और निब फ़ाइल पर लौटने/एक और स्टोरीबोर्ड पर जाते हैं, करता है कि storyboardA सिर्फ स्मृति में वहाँ रहना?
- क्या मैं स्टैकबोर्ड में स्टोरीबोर्ड का "ऐरे" प्राप्त कर सकता हूं जिस तरह से मैं UIViewControllers के साथ नेविगेशन नियंत्रक के ढेर में दृश्यों की सरणी प्राप्त करने में सक्षम हूं?
- स्मृति प्रबंधन के लिए, क्या मैं स्मृति से स्टोरीबोर्ड पॉप या हटा सकता हूं? जब मैं किसी अन्य स्टोरीबोर्ड पर जाता हूं तो क्या मैं इसे शून्य पर सेट करता हूं?
कारण मैं निब फ़ाइलों के साथ मिश्रित कई स्टोरीबोर्ड उपयोग कर रहा हूँ:
- मैं जटिल कथा स्टोरीबोर्ड प्रवाह चाहते हैं। उन्हें एक ही स्थान पर स्लैम करने का अर्थ नहीं है।
- अंततः मैं कई अलग अलग लोगों के साथ काम करेंगे और मैं टीम के काम, संस्करण नियंत्रण के लिए विवश कर कई स्टोरीबोर्ड मार्ग
- क्योंकि स्टोरीबोर्ड अभी तक जटिल निब साथ काम नहीं करते मैं निब फ़ाइलें मिश्रण कर रहा हूँ के लिए चुनते हैं के लिए बहस लगता है फाइलें, कई कार्यक्रम संबंधी विचारों, आदि
मेरे कोड स्निपेट्स
अंदर InitialNibFile.m < - कि AppDelegate से शुरू की है।
- (IBAction)newStoryboardBtnPressed:(id)sender {
[self.view removeFromSuperview]; // here I remove this view from the superview to save memory
UIStoryboard *newStoryboard = [UIStoryboard storyboardWithName:@"NewStoryboard" bundle:nil];
UIViewController *initialSettingsVC = [newStoryboard instantiateInitialViewController];
[self presentViewController:initialSettingsVC
animated:YES completion:nil];
}
यहाँ एक UIViewController का मानना है कि एक स्टोरीबोर्ड दृश्य के भीतर है अंदर
, ।
- (IBAction)anotherStoryboardBtnPressed:(id)sender {
// I'm inside a storyboard right now. I'm calling another storyboard.
// can i remove this storyboard before i launch the otherone? will keeping 2 or 3 toryboards in memory cause a memory leak?
UIStoryboard *settingsStoryboard = [UIStoryboard storyboardWithName:@"AnotherStoryboard" bundle:nil];
UIViewController *initialSettingsVC = [settingsStoryboard instantiateInitialViewController];
// i'm going to load this view controller modally
// initialSettingsVC.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
[self presentViewController:initialSettingsVC
animated:YES
completion:nil];
}
धन्यवाद इतना MishieMoo! इससे बहुत मदद मिली। –
अगर कोई आपके प्रश्नों का उत्तर देता है तो उत्तर स्वीकार करना सुनिश्चित करें =) – MishieMoo
प्रतिभा जवाब ... अच्छी नौकरी ... –