मैं एआरसी (स्वचालित संदर्भ गिनती) पर स्विच का मूल्यांकन कर रहा हूं और मेरे कोड पर लागू करने के लिए रिफैक्टरिंग का मूल्यांकन कर रहा हूं। बातें मैं यह पता लगाने की है के बीच, यह है:यूवीवी कंट्रोलर की डीआरसीवेव मेमरी चेतावनी एआरसी पर्यावरण में
मैं didReceiveMemoryWarning में क्या करना चाहिए वस्तुओं की स्पष्ट रिहाई एआरसी द्वारा अनुमति नहीं है तो क्या होगा? वर्तमान में, मुझे लगता है कि विधि का उपयोग मेरी नियंत्रक से संबंधित वस्तुओं को रिहा करने और है कि आसानी से आलसी ही टिककर खेल के माध्यम से पुनः प्राप्त करने योग्य हैं:
- (void)didReceiveMemoryWarning {
[_foo release]; _foo = nil;
[super didReceiveMemoryWarning];
}
और रिश्तेदार आलसी गेटर:
- (Foo *)foo {
if (_foo) {
return _foo;
}
return (_foo = [[Foo alloc] init]);
}
यह लागू करने के लिए "असंभव लगता है पैटर्न "एआरसी में ... तो, मुझे क्या करना चाहिए? क्या किया जाना चाहिए MemoryWarning एआरसी में "बहिष्कृत"/बेकार माना जाना चाहिए?