• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

navController.topViewController或navController.viewControllers.first?

IOS 来源:rdk 4次浏览

我正在尝试从一个VC到一个嵌入在导航控制器中的segue。navController.topViewController或navController.viewControllers.first?

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

这个…

if let navController = segue.destination as? UINavigationController { 

是这样的:

let viewController = navController.viewControllers.first as? myViewController 

或本:

let viewController = navController.topViewController as? myViewController 

更好?

===========解决方案如下:

这取决于你的意思。

  • first视图控制器是导航控制器的第一子视图控制器。

  • topViewController最后导航控制器的子视图控制器。

所以它们是相反的。它发生,在这种情况下,他们是相同的视图控制器,因为导航控制器只有一个子视图控制器。但是,如果我是你,我不会养成这样的习惯,即想象这两条线会说同样的话。他们不。

(就个人而言,我不说任何的那些东西。我说navController.viewControllers[0]。我说as!,因为我已经织补以及更好的是对有关类视图控制器或我要崩溃了。)


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)