如何管理循环 child UIViewControllers?
How do I manage recurrent child UIViewControllers?
场景:
- 我实例化了一个 UIViewController 并将其添加到
容器视图控制器。
- 我关闭(删除)这个 child
- 我select同样child再次显示。
我的问题: 我想创建一个 child UIViewController 实例。
但似乎我会在每次 'case' 迭代时创建一个额外的 child 视图控制器实例,这是我不想要的。
问题:Swift是否已经处理了这个问题?
...或者我必须在将其设为 child 之前检查当前视图控制器的实例吗?
如果我必须检查它是否存在,那么我将不得不在所有情况下将 'viewController' 设置为全局。
否 Swift 不会自动处理此问题。您必须检查现有的子视图控制器以防止添加重复项。
您可以使用这样的代码:
if let controller = parent.childViewControllers.filter { [=10=] is CountriesViewController }.first {
// use existing child controller here
}
else {
// create new child controller and add it to parent here
}
场景:
- 我实例化了一个 UIViewController 并将其添加到 容器视图控制器。
- 我关闭(删除)这个 child
- 我select同样child再次显示。
我的问题: 我想创建一个 child UIViewController 实例。
但似乎我会在每次 'case' 迭代时创建一个额外的 child 视图控制器实例,这是我不想要的。
问题:Swift是否已经处理了这个问题?
...或者我必须在将其设为 child 之前检查当前视图控制器的实例吗?
如果我必须检查它是否存在,那么我将不得不在所有情况下将 'viewController' 设置为全局。
否 Swift 不会自动处理此问题。您必须检查现有的子视图控制器以防止添加重复项。
您可以使用这样的代码:
if let controller = parent.childViewControllers.filter { [=10=] is CountriesViewController }.first {
// use existing child controller here
}
else {
// create new child controller and add it to parent here
}