Удаление контроллера представления из памяти при создании нового контроллера представления

В моем приложении я создаю новые контроллеры представления вместо использования сегментов, потому что в анимации это выглядит лучше, в результате мои представления продолжают работать в фоновом режиме. Это вызывает большие утечки памяти.

Мой код для возврата на главный экран:

let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
        let vc  : UIViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainScreen") as UIViewController
        self.presentViewController(vc, animated: false, completion: nil)

Этот контроллер представления все еще активен в фоновом режиме и, следовательно, не должен быть повторно создан. Как мне это сделать.

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

Я пытался делать

override func viewDidDisappear(animated: Bool) {
    super.viewDidDisappear(animated)
    view.removeFromSuperview()
    view = nil
}

Однако это не работает должным образом. Как правильно уничтожить контроллер представления из памяти при выходе из контроллера представления таким образом.

Ответы на вопрос(1)

Ваш ответ на вопрос