如何管理周期性子UIViewControllers?

时间:2017-02-09 21:01:47

标签: swift3 childviewcontroller

情景:

  1. 我实例化一个UIViewController并将其添加到 containerViewController。
  2. 我解雇(删除)这个孩子
  3. 我选择同一个孩子再次显示。

  4. 我的关注:我希望创建一个子UIViewController实例。
    但似乎我会在每个案例中创建一个子视图控制器的附加实例。迭代,我不想要。

    问题:Swift已经处理好了吗?
    ...或者我必须在成为孩子之前检查当前视图控制器的实例吗?

    如果我必须检查它的存在,那么我必须制作一个viewController'所有案例都是全球性的。

    enter image description here

    enter image description here

1 个答案:

答案 0 :(得分:0)

没有Swift不会自动处理此问题。您必须检查现有的子视图控制器以防止添加重复项。

你可以使用这样的代码:

if let controller = parent.childViewControllers.filter { $0 is CountriesViewController }.first {
    // use existing child controller here
}
else {
    // create new child controller and add it to parent here
}