दिलचस्प पोस्ट
लिनक्स उबंटू के तहत स्टार्टअप पर स्वचालित रूप से प्रोग्राम चलाएं कौन सा आम तौर पर सबसे अच्छा है – स्ट्रिंग कॉमपिरियन। ऑर्डिनल इग्नेोर कैस या स्ट्रिंग कॉमपारन। इन्वेरियेंट कल्चर इग्नोर केस? आईफ़ोन एसडीके: आप दस्तावेज़ निर्देशिका में वीडियो फाइल कैसे डाउनलोड करते हैं और फिर उन्हें खेलते हैं? विधानसभा सीपीयू आवृत्ति मापने एल्गोरिथ्म xmllint xpath से ठीक से क्वेरी करने में असफल रहा I OpenMp में सरणी को कम करना यदि कोई कुंजी मौजूद नहीं है तो डिफ़ॉल्ट मान लौटाता है जावास्क्रिप्ट के साथ लंबी तार को छोटा करने का स्मार्ट तरीका कैसे स्वचालित रूप से एन "अलग" रंग उत्पन्न करने के लिए? स्प्रिंग / रेस्ट @ पाथवैयरेबल कैरेक्टर एन्कोडिंग कंपाइलर स्पष्ट रूप से आरंभिक नहीं चर का पता लगा रहा है एक्सएसएलटी कॉनटैट स्ट्रिंग, पिछले कॉमा को हटा दें एंड्रॉइड रो बटन के साथ अनचेक हो जाता है आकार बदलने के साथ ASP.NET छवि अपलोड Postgres विंडो समारोह और अपवाद द्वारा समूह

दृश्य में मैं वास्तव में क्या करूँगा DIDUnload?

मैं अपने सामान को-डेलोक में जारी कर देता हूं, और अब आईफोन ओएस 3.0 ने यह अजीब-दृश्य-डीयूएनयूएनलोड विधि पेश की, जहां वे कहते हैं:

// मुख्य दृश्य के किसी भी बनाए रखा सबव्यूव रिलीज़ करें // उदाहरण के लिए self.myOutlet = शून्य;

तो- viewDidUnload को कहा जाता है जब व्यू नियंत्रक का दृश्य स्मृति से निकाल दिया गया है। और अगर मेरे पास दृश्य नियंत्रक के मुख्य दृश्य से जुड़ी सबव्यूज़ हैं, तो मुझे केवल उस सामग्री को छोड़ना होगा, लेकिन साथ ही साथ-डेलोक भी नहीं?

यह भ्रामक है इसके अलावा, यदि -dealloc को देखने के लिए उतारने का कारण बनता है (जारी किया गया)? फिर से, यह कॉल -viewDidUnload करेगा?

मुझे इस बात का एहसास है, कि -उप्युडउपलोड केवल उस मामले के लिए है जहां दृश्य खुद मार जाता है, लेकिन दृश्य नियंत्रक स्मृति में रहता है और -डेलोक उस मामले के लिए है जहां पूरी चीज कचरा हो जाती है।

शायद किसी ने भ्रम को साफ़ कर दिया हो।

Solutions Collecting From Web of "दृश्य में मैं वास्तव में क्या करूँगा DIDUnload?"

यहाँ का इरादा अपने उपव्यू प्रबंधन को "बाहर संतुलन" करना है जो कुछ भी आप viewDidUnload में बनाते हैं, viewDidLoad को viewDidUnload में रिलीज़ किया जाना चाहिए। इससे यह पता चलता है कि रिलीज होने के बारे में क्या पता होना चाहिए ज्यादातर मामलों में, आपकी dealloc पद्धति आपके init पद्धति का एक दर्पण-छवि है, और आपके viewDidUnload आपके viewDidLoad विधि का दर्पण चित्र होगा।

जैसा कि आप ने बताया है, जब व्यू स्वयं लोड हो जाती है और लोड हो जाती है तो viewDid … विधियों का उपयोग किया जाता है। यह उपयोग पैटर्न को अनुमति देता है जिसमें दृश्य नियंत्रक स्मृति में लोड होता है, लेकिन दृश्य स्वयं लोड किया जा सकता है और आवश्यकतानुसार लोड हो सकता है:

 init viewDidLoad viewDidUnload viewDidLoad viewDidUnload ... dealloc 

बेशक, यह आपके dealloc पद्धति में भी चीजों को जारी करने के लिए चोट नहीं पहुँचाता है, जब तक कि आप उन्हें viewDidUnload में रिलीज़ करते समय viewDidUnload में सेट करते हैं। viewDidUnload

एप्पल के UIViewController दस्तावेज के मेमोरी प्रबंधन अनुभाग से निम्नलिखित उद्धरण, इसे और अधिक विवरण में वर्णित करता है:

… आईफ़ोन ओएस 3.0 और बाद में, व्यूडिडयूएनलोड विधि अधिक जरूरतों के लिए एक अधिक उपयुक्त स्थान हो सकती है।

जब एक कम-स्मृति चेतावनी होती है, तो UIViewController वर्ग अपने विचारों को पुर्जित करता है, अगर यह जानता है कि वह उन्हें फिर से पुनः लोड कर सकता है या उन्हें फिर से पुन: बनाएँ। यदि ऐसा होता है, तो यह आपके कोड को आपके व्यू पदानुक्रम के साथ संबद्ध किसी भी ऑब्जेक्ट के स्वामित्व को छोड़ने का एक मौका देने के लिए viewDidUnload विधि को कॉल करता है, जिसमें निब फ़ाइल के साथ लोड किए गए ऑब्जेक्ट, आपके व्यूडिडलोड विधि में बनाए गए ऑब्जेक्ट, रनटाइम और दृश्य पदानुक्रम में जोड़ा गया। आमतौर पर, यदि आपके दृश्य नियंत्रक में आउटलेट (गुणों या कच्चे वेरिएबल्स जिसमें आईबीओटलेट कीवर्ड होते हैं) शामिल हैं, तो आपको उन आउटलेट्स या किसी भी अन्य दृश्य-संबंधी डेटा के स्वामित्व को छोड़ने के लिए दृश्यडि़डयूलोड विधि का उपयोग करना चाहिए, जिसे अब आपको आवश्यकता नहीं है

जैसा कि आप कहते हैं कि viewDidUnload कहा जाएगा self.view = शून्य, यह आम तौर पर तब होता है अगर आपको मेमोरी चेतावनी मिलती है इस पद्धति में आपको मुख्य दृश्य के किसी भी सबव्यू को रिलीज़ करना होगा जो आसानी से .xib या loadView विधि द्वारा बनाया जा सकता है। अगर आप इन्हें ड्यूडलोड या लोड वीइज़ इत्यादि में बनाते हैं, तो आपको किसी भी डेटा ऑब्जेक्ट को रिलीज़ करना चाहिए। क्योंकि इन विधियों को उपयोगकर्ता को देखने के लिए फिर से बुलाया जाएगा, उन डेटा को आसानी से बनाया जा सकता है

जब आपको एक मेमोरी चेतावनी मिलती है, तो व्यू नियंत्रक इसे अनलोड कर देता है, लेकिन खुद को dealloc नहीं होगा।
जो आसानी से फिर से बनाया जा सकता है, उन्हें अनलोड किया जाना चाहिए, लेकिन दृश्य का मॉडल नहीं।