Я делаю игру, в которой я перехожу с основного экрана на ArcadeViewController, который загружает SKScene и сохраняет предыдущий VC как prevVC.
Я использую сегменты, созданные в раскадровке, для перемещения между VC.
Проблема в том, что каждый раз, когда я перехожу на виртуальный канал, вместо того, чтобы переходить на старый, создается копия, и оба они начинают работать одновременно.
Я попытался удалить их, запустив следующие коды при перемещении в VC:
override func viewDidAppear(_ animated: Bool) {
UIApplication.shared.keyWindow?.rootViewController = self
self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
prevVC.reloadViewFromnib()
prevVC.dismiss(animated: false, completion: nil)
UserDefaults.standard.set(0, forKey: "since_The_Last_Ad")
}
extension UIViewController {
func reloadViewFromnib() {
let parent = view.superview
view.removeFromSuperview()
view = nil
parent?.addSubview(view) // This line causes the view to be reloaded
}
}
Это помогло уменьшить количество созданных копий, но все же некоторые.
Как мне удалить дубликаты просмотров?