выпуск UIViewControllers - PullRequest
       31

выпуск UIViewControllers

2 голосов
/ 01 августа 2011

Я использую 3 UIViewControllers в своем приложении, и теперь мне интересно, если это хорошая идея, чтобы освободить их, когда я переключаюсь на другое. Очевидно, это будут скрытые, которые мне действительно не нужны, пока они не видны ... чтобы переключать представления, я использую что-то вроде этого (uiwindow):

//this is in the first UIViewController
[[[UIApplication sharedApplication] keyWindow] addSubview:secondController.view];
[self.view removeFromSuperview];
//here I release the view controller
[self release];

Итак, мой вопрос ... это действительно того стоит? какие могут быть проблемы с производительностью?

Кроме того, я хотел бы спросить, знает ли кто-нибудь, почему эти строки работают в этом порядке (см. Ниже). Я пробовал наоборот, и у меня проблемы с ориентацией, которая перестала работать? какие-нибудь намеки?

//working
[[[UIApplication sharedApplication] keyWindow] addSubview:secondController.view];
[self.view removeFromSuperview];

//not working
[self.view removeFromSuperview];
[[[UIApplication sharedApplication] keyWindow] addSubview:secondController.view];

Спасибо

Raul

1 Ответ

1 голос
/ 01 августа 2011

... это действительно того стоит?какие могут быть проблемы с производительностью?

Вы можете очень легко освободить контроллер представления, как только добавите его как подпредставление другого представления (superView), и в этом случае superView сохраняет подпредставление. [[UIApplication sharedApplication] keyWindow] является суперпредставлением secondController.view и сохраняет secondController.view .Так что это правильный способ сделать это, и это не вызовет проблем с производительностью.

...