gpt4 book ai didi

ios - 如何在 Swift 中引用导航 Controller ?

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

我创建了一个 UINavigationController 对象并将其设置为窗口的 rootViewController 属性。UINavigationController 对象的 rootViewController 是一个名为 UINavigationMenuViewController 的类。例如,如果我想从 UINavigationMenuViewController 导航到 UIUserProfileViewController,我可以使用:

navigationController!.pushViewController(userProfileVC, animated: true)

还有

navigationController?.pushViewController(userProfileVC, animated: true)

效果好像是一样的。我想知道有什么区别。我想第二种方式更安全,如果我忘记将 UINavigationMenuViewController 对象嵌入到 UINavigationController 中,与第一种情况相比,应用程序不会崩溃。我猜它也被称为可选链,我不太确定,因为我还在学习 Swift。

请给我一些建议。

最佳答案

如有疑问,选择链接总是比强制展开更安全,因为您提到的原因:如果变量为 nil,将导致应用程序崩溃。

但在某些情况下,崩溃是一个很好的调试工具。如果将导航 Controller 设置为 nil,您可能希望将其视为开发错误,因此让应用程序崩溃会使错误更加明显。

除此之外,我的建议是始终使用可选链接和/或可选绑定(bind),并将强制解包的使用限制在以下情况:

  • 你确定一个可选的不为零
  • 你刚刚检查了 not nil
  • (如上所述)如果可选值为 nil,您确实希望应用程序崩溃

关于ios - 如何在 Swift 中引用导航 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29631783/

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