我正在使用UINavigationController
。
我想阻止从相同类型的ViewController创建多个实例。
如果我有一个UINavigationController
有四个孩子ViewController(s)(A,B,C,D)和另一个ViewController( E )我从{导航{1}}和 D ViewController我将实例化 E ViewController,我将展示它..并且从 E ViewController我转到 A ViewController我将从 A ViewController中获得2个实例..我想阻止它。
我如何从 D 导航到 E :
A -> B -> C -> D
我如何从 E 导航到 A :
let vc = self.storyboard?.instantiateViewController(withIdentifier: "E") as? E
self.present(vc!, animated: true)
我找到了一些解决方案:
1)当我在 E 时ViewController会破坏所有ViewController( A,B,C,D )
2)当我从 E 导航到 A 时,检查是否存在 A ViewController ..如果存在则设置为{{1 ,创建它并呈现它:
self.performSegue(withIdentifier: "aSegue", sender: nil)
3)为每个ViewController创建单例管理器(例如:link)
rootViewController
希望你理解我的问题。 寻找一个好的解决方案。 在此先感谢。