उदाहरण के लिए, जब स्मृति कम हो जाती है, तो सिस्टम UIApplicationDidReceiveMemoryWarningNotification
अधिसूचना भेजता है। उस ऐप्पल ने उस बिंदु पर अपने दस्तावेज़ों में कहा है। लेकिन यह अधिसूचना कहां से आती है, और किस विधि को भेजा जाता है? या मैं कहां और कैसे पंजीकृत करूं जो मुझे अधिसूचित किया जाता है?अधिसूचना प्राप्त करने के लिए मैं कहां और कैसे एक वस्तु पंजीकृत कर सकता हूं?
उत्तर
यह अधिसूचना केंद्र में भेजा जाता है, जहां सभी अधिसूचनाएं केंद्रीकृत होती हैं। एक ऑब्जेक्ट जो इस अधिसूचना के बारे में सूचित करना चाहता है, खुद को अधिसूचना केंद्र में पंजीकृत करता है कि यह बताकर कि कौन सी सूचना अधिसूचना प्राप्त करना चाहती है और अधिसूचना उठाए जाने पर कौन सी विधि का आह्वान किया जाना चाहिए।
अधिक जानकारी के लिए आप Notification programming topics for Cocoa और NSNotification class reference पर एक नज़र डाल सकते हैं।
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleMemoryWarning:) name: UIApplicationDidReceiveMemoryWarningNotification object:nil];
इसमें यह माना जाता अपनी कक्षा भी एक handleMemoryWarning विधि को लागू करता है कि इस प्रकार है::
- (void) handleMemoryWarning:(NSNotification *)notification
{
}
एप्लिकेशन प्रतिनिधि का उपयोग करने और वैकल्पिक विधि को लागू करने के लिए बहुत आसान
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
सबसे आम अधिसूचनाओं को एक प्रतिनिधि को कॉल में अनुवादित किया जाता है, आमतौर पर एक औपचारिक प्रोटोकॉल में वैकल्पिक तरीकों के लिए। आपका प्रतिनिधि जो भी वस्तु आपको पसंद हो सकता है।
नोट करें कि आप अधिसूचना का नाम लेकर और शुरुआत से 'UI' को हटाकर, पहले से ही 'अधिसूचना' को हटाकर और पहले अक्षर को कम करके प्रतिनिधि नाम प्राप्त करते हैं। – Abizern
चेतावनी दीजिये कि आपके चयनकर्ता को अधिसूचना को तर्क के रूप में लेने की आवश्यकता होगी।
यदि आप @selector (handleMemoryWarning) और - (शून्य) हैंडल MemoryWarning {} जैसे कुछ का उपयोग करते हैं तो ऑब्जेक्ट अधिसूचना नहीं भेजेगा और आप अभी भी अपनी सभी मेमोरी पर होंगे।
मुझे बस इस से काटा गया था।
पूरी तरह से सच नहीं है (और मैंने अभी भी कोशिश की है)। आप चयनकर्ता का उपयोग बिना पैराम या पैराम्स के साथ कर सकते हैं। आईओएस सिम्युलेटर में "हार्डवेयर -> स्मृति चेतावनी अनुकरण" का भी उपयोग करें। –
वास्तव में? क्या आपने परीक्षण किया है कि सभी उपकरणों और ओएस संस्करणों में? मैंने परीक्षण किया जब यह मेरे कोड में पहले से ही हो रहा था। –
हाय बेन, मुझे शक नहीं है कि आपने इसे कुछ डिवाइस और ओएस संस्करण पर देखा है। उस ने कहा, मैंने कभी भी एक प्रदर्शन के बारे में 'प्रदर्शन चयनकर्ता' देखभाल नहीं देखी है या नहीं। कोई विचार यह डिवाइस और ओएस संस्करण क्या था? –
- 1. कैसल विंडसर में, क्या मैं एक इंटरफ़ेस घटक पंजीकृत कर सकता हूं और कार्यान्वयन की प्रॉक्सी प्राप्त कर सकता हूं?
- 2. मैं libgcc_s_dw2-1.dll कहां प्राप्त कर सकता हूं?
- 3. मैं बेहतर ऐप्पल दस्तावेज कहां प्राप्त कर सकता हूं?
- 4. मैं कच्ची वाईयूवी फ़ाइल कहां प्राप्त कर सकता हूं?
- 5. अधिसूचना ध्वनि के रूप में सेट करने के लिए मैं डिफ़ॉल्ट आईओएस ध्वनि कैसे प्राप्त कर सकता हूं?
- 6. मैं जय और जय-इमेजियो कहां डाउनलोड कर सकता हूं?
- 7. मैं ओडाटा डिलीट को काम करने के लिए कैसे प्राप्त कर सकता हूं?
- 8. मैं प्रोग्राम के रूप में एक और अनुप्रयोग के स्थापना पथ कैसे प्राप्त कर सकता हूं?
- 9. मैं बटन में अधिसूचना साफ़ कैसे कर सकता हूं
- 10. मैं प्रतिनिधि कैसे प्राप्त कर सकता हूं?
- 11. मैं ascmd.exe कहां डाउनलोड कर सकता हूं?
- 12. मैं अपना पंजीकरण आईडी डिवाइस कैसे प्राप्त कर सकता हूं
- 13. मैं एक पोस्ट पर गेट विधि कॉल करने के लिए Html.RenderAction कैसे प्राप्त कर सकता हूं?
- 14. मैं एक तैनात WAR फ़ाइल को विस्फोट करने के लिए जेबॉस कैसे प्राप्त कर सकता हूं?
- 15. PHP अधिसूचना एक अपूर्ण वस्तु
- 16. मैं केवल एक वस्तु को जानने के लिए किसी ऑब्जेक्ट को कैसे चालू कर सकता हूं?
- 17. ऑब्जेक्ट को शून्य करने के लिए QObject :: deleteLater() को मैं कैसे प्राप्त कर सकता हूं?
- 18. ब्राउज़र से प्राप्त शीर्षलेख प्रदर्शित करने के लिए मैं PHP कैसे प्राप्त कर सकता हूं?
- 19. मैं निम्नलिखित परिदृश्य के लिए स्थानीय अधिसूचना कैसे निर्धारित कर सकता हूं?
- 20. मैं अपने भौतिकी वस्तु को कैसे व्यवस्थित कर सकता हूं?
- 21. मैं regsvr32 उपकरण द्वारा पंजीकृत सभी अप्रबंधित डीएलएस की सूची कैसे प्राप्त कर सकता हूं?
- 22. मैं JOGL कहां डाउनलोड कर सकता हूं?
- 23. मैं एक जीएडीटी में साझाकरण कैसे प्राप्त कर सकता हूं?
- 24. मैं एक फ़ाइल से CGImageRef कैसे प्राप्त कर सकता हूं?
- 25. मैं symfony2 में एक JSON कैसे प्राप्त कर सकता हूं
- 26. मैं संसाधन से बिटमैप छवि कैसे प्राप्त कर सकता हूं?
- 27. मैं% ENV में परिवर्तन कैसे प्राप्त कर सकता हूं?
- 28. मैं संरचित डेटा के साथ एक अंग्रेजी शब्दकोश कहां प्राप्त कर सकता हूं?
- 29. मैं एंड्रॉइड एनएनडीके के साथ सहयोग करने के लिए जेएचसी कैसे प्राप्त कर सकता हूं?
- 30. व्यक्तिगत आइटम प्राप्त करने के लिए मैं JSONObject को कैसे पुन: सक्रिय कर सकता हूं
उस कक्षा के डेलोक में removeObserver को कॉल करना न भूलें। – Abizern
संपादित नहीं कर सकता। चयनकर्ता @ चयनकर्ता होना चाहिए (हैंडलमेमरी चेतावनी :) – DougW
मैंने शुरुआत में कोड टैग का उपयोग करने की उपेक्षा की - फिक्स्ड। – m4rkk