swift - 在线应用程序中重复使用 View Controller ,并且仍然有后退按钮

标签 swift uistoryboardsegue back

我对编程总体来说比较陌生,目前正在设计一个数据库项目,但现在我遇到了一个逻辑问题,我的头脑无法理清。

问题是我有一个 View Controller ,它从数据库中加载一系列内容,当您单击它时,它会打开一个详细信息,从该详细信息中有一个按钮可以像前一个一样加载到列表中我们来自,所以我使用相同的 View Controller ,只是请求不同的数据。到目前为止,一切都很好。

但现在问题来了,有一个后退功能,所以当我现在按后退一次返回详细信息时,当我第二次按后退时,它会加载我在该列表上加载的最后一个数据,因此它会加载错误的数据。

我想要的一个很好的例子是 Facebook 好友功能,当我点击我的 friend 时,它会加载一个列表,然后我可以点击他们的 friend ,我会看到具有不同数据的相同列表,但当我返回两个时步骤它再次加载到我的 friend 中。我让它与一个非常困惑且不切实际的寄存器系统一起工作,但这非常糟糕,因为它有时会引发错误。

那么有人知道我怎样才能实现我想要的吗?

最佳答案

当您“重用”此 View Controller 时,我建议每次创建该 View Controller 的新实例。这样,(假设您避免使用任何全局变量,而是仅使用类的属性),您可以保证每次创建 View Controller 的新实例时,它都不会影响可能存在于其他位置的其他实例。导航 Controller 的先前实例化 View Controller 的堆栈。

关于swift - 在线应用程序中重复使用 View Controller ,并且仍然有后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34578376/

相关文章:

ios - Storyboard似乎未正确加载

ios - 后退按钮 iOS 7 phonegap history.back()

javascript - 返回并重新加载页面 - 一键式

Android通过单击外部使 View 消失

Swift:字典数组在初始化后计数为 1 但应该为 0

IOS/objective-C/ Storyboard : Custom Segue from Left to Right Creating Black Bar Between View Controllers

ios - 在哪里保存游戏分数、最后通过的关卡等? Parse(云后端)还是 Facebook?

ios - 通过 Storyboard 中的模态序列检索和传递注释数据

swift - 为什么 SKSpriteNode 不能与 SKAction 一起使用?

swift - 当 Swift 结构是存储属性时,可以在堆上分配它吗?