У меня есть приложение для навигации. Корневой контроллер (RootViewController
) имеет кнопку, которая переходит к другому контроллеру представления (DetailViewController1
). Это очень легко сделать в раскадровке XCode.Перемещение в viewcontroller в раскадровке всегда создает новый ViewController, как я могу повторно использовать предыдущий ViewController?
Моя проблема: DetailViewController1
всегда создает новый экземпляр, когда я перехожу к нему. В то время как я попробовал другой способ, я создал еще один класс DetailViewController2
и создаю его экземпляр при запуске приложения. Затем я пишу код, чтобы нажать экземпляр DetailViewController2, в этом случае DetailViewController2
будет создан только один раз.
Вопрос: Есть ли настройка на раскадровке, чтобы я мог предотвратить создание одного и того же экземпляра контроллера представления при навигации по нему? Так же, как я нажимаю созданный вручную DetailViewController2
.
Я вижу, я хочу убедиться, что я что-то пропустил. Благодарю. – Howard
Правильно. Причина этого в том, что по умолчанию iOS уничтожает UIViewController, когда вы возвращаетесь от него, чтобы он освобождал память, которую он использовал. Сохранение адреса ViewController таким образом не рекомендуется, так как он может создать цикл сохранения, приводящий к потере памяти. – danialzahid94