अग्रभूमि में प्रवेश करती है मैं viewDidAppear विधि हमेशा फायरिंग नहीं करने के लिए अपने iPhone ऐप्लिकेशन कोड में एक समस्या का पता लगाया है। जब आप ऐप शुरू करते हैं तो ईवेंट अपेक्षित रूप से आग लग जाता है। मैं एक फोन मल्टीटास्किंग में सक्षम का उपयोग करके एप्लिकेशन को बंद करने और में नहीं रह आग फिर से खोलना। मेरे viewDidAppear घटनाओं लेकिन अगर।viewDidAppear कभी भी फिर से फायरिंग नहीं करने पर ऐप
मेरे विचारों महत्वपूर्ण व्यक्ति से लोड किए गए हैं और मैं viewDidUnload का उपयोग ऊपर (जारी है और सभी आउटलेट्स शून्य) साफ करने के लिए। मेरे विचार पक्ष में घोंसला और टैब बार फिर नेविगेशन नियंत्रक हैं। मुझे लगता है कि एनबीएस रीलोड होने पर घटनाओं को ठीक तरह से तार नहीं दिया जाता है। मैं क्या गलत/लापता कर रहा हूं और मैं इसे कैसे ठीक कर सकता हूं पर कोई विचार?
अग्रिम धन्यवाद।
अद्यतन मेरा मतलब यह नहीं है कि ऐप पहली बार अग्रभूमि में आने पर ईवेंट को निकाल दिया नहीं जाता है। मेरा मतलब है कि घटना कभी फिर से आग लगती है। टैब के बीच बदलते समय या नेविगेशन दृश्यों के बावजूद चलते समय भी।
उदाहरण:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"viewDidAppear called");
}
इस कोड को दो बार देखा गया, भिन्न टैब पर प्रत्येक में रखा गया है। प्रत्येक बार जब मैं "viewDidAppear कॉल" टैब के बीच स्वैप करता हूं तो लॉग पर लिखा जाता है। जब मैं ऐप को बंद और दोबारा खोलता हूं और टैब के बीच स्वैप करता हूं तो यह अब नहीं होता है। अन्य बटन घटनाएं सामान्य रूप से आग लगती हैं।
क्या अन्य एनएसएलॉग अभी भी दिख रहे हैं? मेरा मतलब है, यह सभी NSLogs का एक मुद्दा नहीं है जब आप पृष्ठभूमि और फिर से शुरू हो जाएंगे तो कुछ भी करने में असफल रहे? – occulus
क्या आप UIViewControllers के संदर्भ में अपने यूआई सेटअप के साथ असामान्य या जटिल कुछ कर रहे हैं? क्या आप चीजों को घोंसले कर रहे हैं कि ऐप्पल घोंसला न करने की सिफारिश करता है, उदाहरण के लिए? – occulus