2016-05-30 2 views
1

Я искал по сети, но я не могу найти ответ на этот вопрос.Вызывает ли вызов viewController без его удаления второй экземпляр?

В настоящее время я использую presentViewController для запуска новых ViewControllers, но на некоторых контроллерах представления я не отклоняю его и не вызываю. В настоящее время я не использую никаких контроллеров навигации или что-то в этом роде.

Я просто обеспокоен тем, что если я вызову тот же viewController снова через presentViewController, то тот же viewController будет иметь 2 запущенных экземпляра.

Возможно ли это? Или система iOS автоматически повторно использует незанятый viewController?

Если да, то как мне удалить контроллеры простоя?

Спасибо! (Я сдерживал свой вопрос и пытался найти его по сети, поэтому, если вы можете указать мне в правильном направлении, было бы очень полезно спасибо!)

ответ

1

iOS не будет повторно использовать ваш контроллер просмотра, вы можете легко проверить его самостоятельно, распечатав контроллер вида в viewDidLoad, вы заметите, что каждый раз открывается viewDidLoad, а затем все объекты имеют разные адреса.

Если вы не создаете тысячи из них, или навигация по вашему приложению не позволит вам вернуться к контроллеру вида «без дела», я бы не сказал, что это проблема. Я не вижу никакого чистого способа удалить контроллер из памяти без вызова «увольнять». Вы можете попробовать:
- «обновите» свое представление новыми данными.
- используйте что-то вроде UIPageViewController, если рабочий процесс вашего приложения допускает такое поведение.
- переделки навигации, так что вы можете отклонить представление перед вызовом другой один

удачи