gpt4 book ai didi

ios - 如何获取触发 segue 的 View Controller

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

如何在不使用委托(delegate)的情况下获取触发 segue 的 View Controller 。并且没有在 prepareForSegue 中设置它。并且两个 View Controller 都将嵌入到它们的导航 Controller 中。

我想从显示的 View Controller 中获取该 View Controller 。我知道这不是 iOS 方式,因为 iOS 方式是使用委托(delegate)。

但我会很感激如何获得引用。

最佳答案

这里有两个您应该理解的主要概念。第一个是导航 Controller ,它将新的 View Controller 推送到其 viewControllers 堆栈的顶部,第二个是简单的模态视图 Controller ,它只是呈现一个新的 View Controller 。

如果您正在使用导航 Controller 并将新的 View Controller 推送到堆栈,您可以使用以下方法获取推送它的 View Controller ,

if let viewControllers = navigationController?.viewControllers, viewControllers.count > 1 {

let presentingViewController = viewControllers[viewControllers.count - 2]
}

而且,对于模态视图 Controller ,您可以简单地使用 UIViewController 上的 presentingViewController 属性。另请注意,presentingViewController 是可选的,这意味着如果此 View Controller 不是呈现它的 View Controller 的 presentedViewController,则 presentingViewController 变为 nil .

关于ios - 如何获取触发 segue 的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41538710/

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