UIViewController's didReceiveMemoryWarning в среде ARC

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

12
задан Peter Hosey 14 October 2011 в 19:31
поделиться