gpt4 book ai didi

ios - 如何在多个(在我的设置中为 3 个)ViewController 之间传递数据?

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

enter image description here enter image description here

我想制作一个抽认卡应用程序,其行为是在 CoursesVC 上,用户可以添加类(class)并单击它们。然后他得到了带有抽认卡的 list 。他可以在那里添加更多抽认卡。存储由CoreData管理。当单击单元格时,我使用 prepareForSegue 将数据传递到抽认卡列表。为了添加抽认卡,我也有同样的想法,但这是不可能的,因为在创建 prepareForSegue 时,第二个 View Controller 中的变量尚未初始化。问题:如何以适当的方式将 NSManagedObject 从第一个 ViewController 传递到第三个 ViewController? (丑陋的方法是在创建prepareForSegue之前让 View 渲染)

与“如何在 ViewController 之间传递数据”等问题的区别在于我有三个 ViewController。它不适用于在第一个和第二个 View Controller 上使用prepareForSegue,因为当创建prepareForSegue时,第二个VC中的变量尚未定义,因为 View 尚未初始化!请记住,从第二个 View Controller 到第三个 View Controller 的转场是“以模态方式呈现”为“页面表”!

最佳答案

这基本上是解决方案:Swift : prepareForSegue with navigation controller

问题在于第三个 View Controller 是作为导航 Controller 嵌入的。这就是 prepareForSegue 不同的原因。

解决方案是在第二个VC中使用以下prepareForSegue:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let navigationVC = segue.destination as? UINavigationController, let myViewController = navigationVC.topViewController as? DViewController {
myViewController.currentCourse = self.currentCourse
}
}

关于ios - 如何在多个(在我的设置中为 3 个)ViewController 之间传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314139/

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