Я хочу освободить память моего ViewController, используемого после отклонения. Я использую следующий код для представления нового ViewController и отклонения старого:
let sB: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newVC: UIViewController = sB.instantiateViewController(withIdentifier: "MyVC")
self.present(newVC, animated: true, completion: { x in
oldVC.dismiss(animated: false, completion: { _ in //oldVC: variable keeping track of currently visible view controller
print("done")
})
})
Этот код успешно представляет newVC
и печатает done
после отклонения oldVC
. Тем не менее, моя память по-прежнему остается такой же высокой, как при oldVC
на экране.
Что я делаю неправильно?
FYI
- Я использую ENSwiftSideMenu
- Так как я не работал над ним другим способом, все мои ViewControllers являются подклассом ENSideMenuNavigationController
- Я получаю консольные предупреждения об отдельных видах и представлениях, которые не находятся в иерархии окон.
- для всех ViewControllers, как
presentingViewController
, так иpresentedViewController
являютсяnil