gpt4 book ai didi

Swift - 通过侧面菜单在它们之间切换时保留实例化的 View Controller

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

我的 iOS 应用程序中有一个包含多个条目的侧边菜单。单击其中之一后,我想通过将它们推送到导航堆栈来转到相应的 View Controller 。目前这是通过以下方式完成的:

// Called on click event on table cell
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.tableView.deselectRow(at: indexPath, animated: true)

// navigate to the corresponding view controller
switch(indexPath.row){
case 0:
let launchScreenNC = self.storyboard?.instantiateViewController(withIdentifier: "LaunchScreenNC") as? UINavigationController
self.navigationController?.pushViewController((self.launchScreenNC?.viewControllers.first!)!, animated: true)
break
case 1:
let connectionNC = self.storyboard?.instantiateViewController(withIdentifier: "ConnectNC") as? UINavigationController
self.navigationController?.pushViewController((self.connectionNC?.viewControllers.first!)!, animated: true)
break
case 2:
let syncNC = self.storyboard?.instantiateViewController(withIdentifier: "SyncNC") as? UINavigationController
self.navigationController?.pushViewController((self.syncNC?.viewControllers.first!)!, animated: true)
break
default:
// nothing to do
break
}
}

第一次切换到新的 View Controller 时效果很好。但是,一旦启动,我想让这些实例保持事件状态,以保持与每个 View Controller 关联的变量状态。

执行此操作的最佳方法是什么?

我试过

self.navigationController?.popToViewController((self.syncNC?.viewControllers.first!)!, animated: true)

或者将它们保存为菜单 View Controller 中的实例变量,例如。但到目前为止都没有奏效。

我很感激任何建议。

最佳答案

What is the best way to do this?

最好的方法是不要。一旦 View Controller 弹出,就让它消失。保留其状态(其实例属性的值)并在下次使用它来重建界面;不要保留 View Controller 实例本身。

关于Swift - 通过侧面菜单在它们之间切换时保留实例化的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49640344/

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