ऐप्पल के मुताबिक, उन्होंने viewWill/DidUnload
में सामान को नष्ट कर हासिल किए गए लाभों को पर्याप्त रूप से देखने के लिए आंतरिक स्मृति प्रबंधन में सुधार किया है। इसके अलावा, उनके पास डेटा का सुझाव है कि कई ऐप्स क्रैश हो जाते हैं क्योंकि ऐप्स उन अधिसूचनाओं को सही तरीके से संभाल नहीं पाते हैं, और "अन्य" सामान दृश्य अनलोडिंग से जुड़े नहीं होते हैं।
अंत में, स्मृति स्मृति चेतावनी अब पहली और एकमात्र चेतावनी के रूप में सत्यापित की जाती है जो आपको कम स्मृति के कारण समाप्त होने से पहले प्राप्त होगी, इसलिए यह वास्तव में स्मृति समस्याओं को संभालने का स्थान है।
तो, मूल रूप से, बस अपने viewWillUnload
और viewDidUnload
विधियों को हटा दें। उचित स्थानों में didReceiveMemoryWarning
और किसी भी अन्य दृश्य नियंत्रक प्रबंधन में स्मृति समस्याओं को संभालें।
संपादित
मैं पूछ सकते हैं: उन "उचित स्थानों" क्या हैं? मैं कुछ स्थितियों में ViewdidUnload का उपयोग करता था, जहां देखें [विल/किया गया] पूरी तरह से पर्याप्त नहीं था। नेविगेशन नियंत्रक ढेर पर आगे जाने की तरह। क्या आप उस पर आगे विस्तार करना चाहते हैं? - Dan1one
यह निर्भर करता है। मुझे पता है कि आप जो नहीं सुनना चाहते हैं, लेकिन यह सच है :-)
सामान्य रूप से, आपको असमानता से बचना चाहिए। इस प्रकार, आपको सममित विधि का उपयोग करके एक ऑपरेशन को "पूर्ववत" करना चाहिए जिससे आपने मूल "किया" था। आम तौर पर, आप सभी viewDidUnload
didReceiveMemoryWarning
और dealloc
में कार्य करने में सक्षम होना चाहिए।
यह वास्तव में बदलाव नहीं करना चाहिए, क्योंकि आपको उन दोनों स्थानों में से किसी भी कोड को डुप्लिकेट करना था।
मुझे नहीं पता कि "नेविगेशन नियंत्रक स्टैक पर आगे बढ़ने" का मतलब क्या है, इसलिए आपको उपयोगी प्रतिक्रिया प्रदान करने के लिए मेरे लिए उस उदाहरण को स्पष्ट करने की आवश्यकता होगी।
viewDidDisappear
उपयोग करने के साथ समस्या यह है और viewDidAppear
है कि यह पता करने के लिए जब दृश्य दिखाई दे रहा था, क्योंकि यह वास्तव में प्रदर्शित होने गया था, या क्योंकि एक दृश्य है कि यह गायब हो गया था की चोटी पर था ... प्रकट करने के लिए इसका कारण मुश्किल था था ।
एपीआई के इन टुकड़ों आप उन मुद्दों का समाधान करने में मदद करने की अपेक्षा की जाती:
- (BOOL)isMovingFromParentViewController
- (BOOL)isMovingToParentViewController
- (BOOL)isBeingDismissed
- (BOOL)isBeingPresented
की तरह कुछ आप वर्तमान में अपने अनुप्रयोग में के लिए viewDidUnload उपयोग कर रहे हैं तो क्या करें? –