Я оцениваю переход на 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?