gpt4 book ai didi

ios - 如何将数据传递到 UINavigationController 堆栈上的第 n 个 View Controller ?

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

有 2 个应用程序 A 和 B。

应用程序 A 有一个打开应用程序 B 的 URL。

App B 打开后,它必须将 5 个 View Controller 加载到导航堆栈上,这是通过以下代码完成的:

let LandingVC = self.storyboard?.instantiateViewControllerWithIdentifier("LandingVC") as! LandingVC
let Dashboard = self.storyboard?.instantiateViewControllerWithIdentifier("Dashboard") as! Dashboard
let PlayerVC = self.storyboard?.instantiateViewControllerWithIdentifier("PlayerVC") as! PlayerVC
let PlayerDetailVC = self.storyboard?.instantiateViewControllerWithIdentifier("PlayerDetailVC") as! PlayerDetailVC
let ScoreReportVC = self.storyboard?.instantiateViewControllerWithIdentifier("ScoreReportVC") as! ScoreReportVC
let viewControllersList = [LandingVC, Dashboard, PlayerVC, PlayerDetailVC, ScoreReportVC]
self.navigationController?.setViewControllers(viewControllersList, animated: false)

来自 ScoreReportVC 我需要能够在以前的 ViewController 上设置变量,以便用户可以导航到以前的屏幕,即使他们从另一个应用程序触发了该应用程序。

这是我尝试过的:在 ScoreReportVC 后面的之前的 View Controller 中定义了一个协议(protocol),这些 Controller 位于堆栈上和 ScoreReportVC 内部,如下所示:

for viewcontroller in self.navigationController?.viewControllers {
if viewcontroller is PlayerDetailVC {
PlayerDetailVC.delegate = self
}
if viewcontroller is PlayerVC {
PlayerVC = self
}
if viewcontroller is Dashboard {
Dashboard.delegate = self
}
if viewcontroller is LandingVC {
LandingVC.delegate = self
}
}

但是委托(delegate)们没有接到电话。任何关于如何正确地将数据传递到堆栈上的所有 ViewController 的帮助将不胜感激。

最佳答案

对于相关类,我们使用委托(delegate)。但是对于那些不相关的类,我们使用通知。在您的情况下,需要通知来实现并将数据从一个 VC 传递到另一个 VC。

关于ios - 如何将数据传递到 UINavigationController 堆栈上的第 n 个 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49703786/

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