Я оцениваю переход на ARC (автоматический подсчет ссылок) и рефакторинг для применения к моему коду. Среди вещей, которые я должен выяснить, есть следующее:
что мне делать в didReceiveMemoryWarning, если явная релиз объектов не разрешен ARC? В настоящее время я использую этот метод для выпуска объектов, принадлежащих моему контроллеру, и которые легко извлекаются с помощью ленивых геттеров:
- (void)didReceiveMemoryWarning {
[_foo release]; _foo = nil;
[super didReceiveMemoryWarning];
}
и относительный ленивый геттер:
- (Foo *)foo {
if (_foo) {
return _foo;
}
return (_foo = [[Foo alloc] init]);
}
Кажется невозможным реализовать такой "шаблон" в ARC... так, что мне делать? Должно ли didReceiveMemoryWarning считаться "устаревшим" /бесполезным в ARC?