У меня проблема с удалением UIViewController из памяти, когда я его закрываю, думаю, что он все еще жив в памяти, потому что, если я восстанавливаю тот же UIViewController, он запускается из того же состояния, в котором он был при удалении. Все массивы, которые я использую в этом UIViewController, удваиваются и не очищаются.
Это код, в котором я его создаю:
if counter == arrSize{
resetQuestions()
let v = self.storyboard?.instantiateViewController(withIdentifier: "testViewController") as! PopupViewController
v.modalPresentationStyle = .overCurrentContext
v.modalTransitionStyle = .crossDissolve
v.setUserAnswers(answers: userAnswers)
v.setCorrectAnswers(answers: correctAnsewrs)
v.setQuestions(questions: questions)
v.file = file
v.setSelected(selected: selected)
v.classObject = self
self.present(v, animated: true, completion: nil)
return
}
И это код, в котором я его отклоняю:
@IBAction func close(_ sender: Any) {
self.dismiss(animated: true, completion: {() -> Void in
self.removeFromParentViewController()
})
}
Я также пробовал этот код, но не работает:
override func viewDidDisappear(_ animated: Bool) {
self.viewDidDisappear(true)
self.removeFromParentViewController()
}