Я все еще немного борюсь с идеей ARC. Предположим, у меня есть два очень сложных viewController A и B, каждый из которых содержит множество изображений, которые сохраняются каждым видом. Ради аргумента, давайте предположим, что первый ViewController (A) сохраняет изображения, которые занимают 75 МБ в оперативной памяти. Другой (B) также занимает 75 МБ.
В моем делегате приложения я настроил свой NavigationController следующим образом:
ViewControllerA *vcA = [[ViewControllerA alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vcA];
[navController.navigationBar setHidden:YES];
[[self window] setRootViewController:navController];
Когда я переключаюсь с A на B, я делаю это так во ViewControllerA.m:
ViewControllerB *vcB = [[ViewControllerB alloc] init];
[[self navigationController] pushViewController:vcB animated:YES];
Когда я переключаюсь обратно, я делаю это так в ViewControllerB.m:
[[self navigationController] popToRootViewControllerAnimated:YES];
Теперь мой большой вопрос, если у меня все еще есть ViewController A в моей памяти, когда я нахожусь в ViewController B? В этом случае, когда компилятор выпускает ViewController? Могу я или я должен выпустить (т.е. установить его на ноль) один ViewController, когда он не используется?
Извините, если ответ ясен или я полностью упускаю суть. Так что любые ответы и объяснения будут высоко оценены.