पर कॉल करना प्रतीत होता है मैं एक व्यू कंट्रोलर को प्रोग्रामेटिक रूप से नेविगेशन नियंत्रक में धक्का देने की कोशिश कर रहा हूं, और मैं इसे बनाने के लिए अपने स्टोरीबोर्ड का उपयोग कर रहा हूं।instantiateViewControllerWithIdentifier को viewdidload
+ (void) pushViewController:(NSString *) identifier ForItems:(NSMutableArray *) items sender:(UIViewController *) sender {
GenericViewController *viewController = (GenericViewController *)[sender.storyboard instantiateViewControllerWithIdentifier:identifier];
viewController.items = [[NSMutableArray alloc] init];
[viewController.items removeAllObjects];
[viewController.items addObject:[[NSMutableArray alloc] init]];
[viewController.items[0] addObjectsFromArray:items];
[sender.navigationController pushViewController:viewController animated:YES];
}
GenericViewController viewDidLoad
में मैं अपने items
उपयोग कर रहा हूँ:
यहाँ मेरी कोड है। कुछ ब्रेक पॉइंट्स के लिए धन्यवाद मैंने देखा है कि GenericViewController viewDidLoad
instantiateViewControllerWithIdentifier
के बाद items
शून्य के बराबर है।
मैंने सोचा कि MyViewController viewDidLoad
pushViewController
विधि के दौरान कहा जाता है।
कोई विचार क्यों viewDidLoad
instantiateViewControllerWithIdentifier
के दौरान कहा जाता है?
--- अद्यतन: ---
यहाँ मेरी viewDidLoad
- (void)viewDidLoad
{
for (MyItem *currentItem in self.items[0]) {
[Do Something]
}
[super viewDidLoad];
[...]
}
self.items
नहीं के बराबर है। तो कुछ भी नहीं किया जाता है।
डाल पूरा कोड please..what myItem और viewDidLoad method..the समस्या this..cause नहीं है जब आप एक वस्तु आरंभ किया है, यह जिंदा है। –
आपको अधिक जानकारी प्रदान करने की आवश्यकता है।पूरी विधि दिखाएं जहां आप तत्काल ViewControllerWithIdentifier का उपयोग करते हैं:। विधि, instantiateViewControllerWithIdentifier :, viewDidLoad को कॉल नहीं किया जाएगा, इसलिए कुछ और चल रहा है। – rdelmar
धन्यवाद @rdelmar मुझे पूरा यकीन है कि 'instantiateViewControllerWithIdentifier'' viewDidLoad' को कॉल न करें। मैं अपना कोड अपडेट करता हूं, मैं अपने नए व्यू को नियंत्रित करने और धक्का देने के लिए एक स्थिर प्रबंधक का उपयोग कर रहा हूं नियंत्रक –