防止从相同类型的ViewController(ARC)

时间:2018-05-02 08:38:17

标签: ios swift uiviewcontroller

我正在使用UINavigationController。 我想阻止从相同类型的ViewController创建多个实例。 如果我有一个UINavigationController有四个孩子ViewController(s)(A,B,C,D)和另一个ViewController( E )我从{导航{1}}和 D ViewController我将实例化 E ViewController,我将展示它..并且从 E ViewController我转到 A ViewController我将从 A ViewController中获得2个实例..我想阻止它。

这是包含所有ViewController的故事板: enter image description here

我如何从 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

希望你理解我的问题。 寻找一个好的解决方案。 在此先感谢。

0 个答案:

没有答案