gpt4 book ai didi

swift - 在选项卡栏中的 2 个 View Controller 之间传递字符串

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

我有一个使用 Firebase 的 Swift 应用。在应用程序的这一部分,有 2 个 VC,分别位于选项卡栏 Controller 和导航 Controller 中。所以 TBC -> NavC -> VC。

我需要从主 TBC VC 传递一个字符串。它是卡的 firebase ID。使用该 ID,我可以访问该卡节点上的所有子节点,但如果没有它,我就无法访问。

我尝试过使用prepareForSegue..

let tabVc = segue.destination as! UITabBarController
let navVc = tabVc.viewControllers!.first as! UINavigationController
let destinationVC = navVc.viewControllers.first as! MonthlyNutViewController

destinationVC.cardID = cardID
print(cardID)

我已经在上面设置了一个断点,但它没有命中。

我看到一些较旧的 SO 帖子建议我在 appDelegate 中创建一个全局变量,但我认为这是不受欢迎的。

传输该字符串的最佳方式是什么?谢谢。

最佳答案

如果它只是一个变量,我会选择 appDelegate。您还可以选择创建单例来保存更复杂的数据模型。

只需在appDelegate中声明变量

class AppDelegate: UIResponder, UIApplicationDelegate {
var myFirebaseString : String?

然后从您的 ViewController 访问它

let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.myFirebaseString = "key"

然后在第二个 Controller 中

let appDelegate = UIApplication.shared.delegate as! AppDelegate
ley localKey = appDelegate.myFirebaseString

关于swift - 在选项卡栏中的 2 个 View Controller 之间传递字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42159725/

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