当我按下后退按钮 Swift 3 时,删除的数据重新出现
Posted
技术标签:
【中文标题】当我按下后退按钮 Swift 3 时,删除的数据重新出现【英文标题】:data erased reappear when i pressed the back button Swift 3 【发布时间】:2017-10-19 21:12:30 【问题描述】:我有 2 个视图和一个导航控制器。首先,在数组中添加数据。这些数据显示在我的第二个视图中(是一个 tableviewController)。我可以直接从 tableView 中删除数组中的一些数据,同时删除一行。 当我按下后退按钮并尝试添加新数据时,当我的第二个视图出现时,我看到了我的数据新闻数据,并且数据被删除了......我不明白。 从视图 1 到视图 2,我有“准备(对于 segue:UIStoryboardSegue,发件人:Any?)”功能。 任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:这是正常的。
假设您在第一个视图控制器中有一个名为data
的数组,并且您在导航到第二个视图控制器时将该数组传递给它。当你传递这个数组时,它会被复制。第二个视图控制器中的data
数组与第一个视图控制器中的data
数组不同。
因此,应用于第二个视图控制器的data
数组的更改不会影响第一个视图控制器的data
数组。
要使这些更改在第一个视图控制器上生效,您需要以某种方式更改第一个视图控制器的 data
数组;例如,您可以使用委托或回调。
【讨论】:
首先,谢谢萌的回答。所以,我的问题不是后退按钮,我的数据被保存了。问题是,我厌倦了为我的对象使用“经理 calss”,我用错了。在我的第一个视图中,我实例化了这个管理器(在这个管理器中,我拥有所有要擦除和添加项目的功能)。为了从视图 1 传递到我的视图 2(uiTableViewController),我使用了为 segue 准备的功能。在这个函数中,我传递了我的数组,但我不知道我也传递了我的“经理”实例。在视图 2 中,我也实例化了我的“经理”。所以,我有两个相同的“经理”实例。这是问题 哦,我明白了,太好了,你找到了解决方案。以上是关于当我按下后退按钮 Swift 3 时,删除的数据重新出现的主要内容,如果未能解决你的问题,请参考以下文章