gpt4 book ai didi

ios - navController.topViewController 还是 navController.viewControllers.first?

转载 作者:行者123 更新时间:2023-11-28 10:11:28 24 4
gpt4 key购买 nike

我正在尝试从 VC 转换为嵌入在导航 Controller 中的 VC。

就我的目的而言,这两行代码似乎完成了同一件事,但我想知道它们之间的真正区别是什么以及一个是否对另一个有利。

为此...

if let navController = segue.destination as? UINavigationController {

这是:

    let viewController = navController.viewControllers.first as? myViewController

或者这个:

    let viewController = navController.topViewController as? myViewController

更好?

最佳答案

这取决于你的意思。

  • 第一个 View Controller 是导航 Controller 的第一个 subview Controller 。

  • topViewController 是导航 Controller 的最后一个 subview Controller 。

所以它们是相反的。 碰巧在这种情况下它们是同一个 View Controller ,因为导航 Controller 只有一个 subview Controller 。但如果我是你,我不会养成这样的习惯,即想象这两行说的是同一件事。他们没有。

(就个人而言,我不会说这两件事。我说 navController.viewControllers[0]。我说 as!,因为我该死的最好是关于那个 View Controller 的类是正确的,否则我想崩溃。)

关于ios - navController.topViewController 还是 navController.viewControllers.first?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47614931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com