Swift“更多”控制器崩溃

Posted

技术标签:

【中文标题】Swift“更多”控制器崩溃【英文标题】:Swift "More" controller crashes 【发布时间】:2022-01-04 09:06:14 【问题描述】:

我有一个带有标签栏的应用程序。因为我向它添加了 6 个 ViewController,它会自动转换为 4 个选项卡和一个“更多”控制器。这里是剩下的 2 个 ViewController 的列表。

我的问题是,当我导航到这 2 个 ViewController 之一,然后再次按“更多”选项卡时,应用程序因线程 1 崩溃:“层 是其层树中循环的一部分”。

我认为这是因为它试图在现有的 MoreViewController 中插入 MoreViewController,但是我不确定如何解决这个问题。如果有人可以帮助我,那就太好了。

提前致谢。

帕特里克

【问题讨论】:

【参考方案1】:

好吧..所以我设法创建了一个解决方法。

在委托方法中 func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool你会在点击tabitems时收到通知。

我检查了选择的viewController 是否是moreNavigationController。 然后if moreNavigationController.topViewController == (one of the two viewcontrollers listed in the MoreViewController) moreNavigationController.popViewController(animated: true)

这将防止应用程序崩溃,并将带您返回到 MoreViewController 的 tableView。仍然是奇怪的行为。但我很高兴它不再崩溃了 :) 希望有人会发现这很有用。

【讨论】:

以上是关于Swift“更多”控制器崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Swift 4:@IBOutlet UITextView 崩溃

在 Swift 中呈现 IDMPhotoBrowser 时崩溃

Swift ViewController 在加载时崩溃

在 SWIFT 3 中访问 UITabBarController 的“更多...”视图控制器

Swift pushViewController 导致应用程序崩溃

Swift项目,适配遇到的问题