Uitableview 当我按下后退按钮Swift 3时,删除的数据重新出现

Uitableview 当我按下后退按钮Swift 3时,删除的数据重新出现,uitableview,swift3,uinavigationcontroller,Uitableview,Swift3,Uinavigationcontroller,我有两个视图和一个navigationController。首先,在数组中添加数据。这些数据显示在我的第二个视图(是tableviewController)中。我可以直接从tableView中删除数组中的一些数据,同时删除一行。 当我按下后退按钮,尝试添加新数据时,当我的第二个视图出现时,我看到我的数据新闻数据,数据被删除。。。我不明白。 从视图1到视图2,我有“prepare(for segue:UIStoryboardSegue,sender:Any?)”函数。 任何帮助都将不胜感激。这是正

我有两个视图和一个navigationController。首先,在数组中添加数据。这些数据显示在我的第二个视图(是tableviewController)中。我可以直接从tableView中删除数组中的一些数据,同时删除一行。 当我按下后退按钮,尝试添加新数据时,当我的第二个视图出现时,我看到我的数据新闻数据,数据被删除。。。我不明白。 从视图1到视图2,我有“prepare(for segue:UIStoryboardSegue,sender:Any?)”函数。 任何帮助都将不胜感激。

这是正常的

假设在第一个视图控制器中有一个名为
data
的数组,在导航到该数组时将该数组传递给第二个视图控制器。当您传递此数组时,它将被复制。第二视图控制器中的
数据
数组与第一视图控制器中的
数据
数组不同

因此,应用于第二视图控制器的
数据
数组的更改不会影响第一视图控制器的
数据
数组


要使这些更改在第一视图控制器上生效,您需要以某种方式更改第一视图控制器的
数据
数组;例如,您可以使用委托或回调。

首先,感谢Moe的回答。所以,我的问题不是后退按钮,而是数据被保存了。问题是,我厌倦了在我的对象中使用“manager cals”,而我用错了。在我的第一个视图中,我实例化了这个管理器(在这个视图中,我有所有要删除和添加项的函数)。为了从视图1传递到视图2(uiTableViewController),我使用了prepare for segue函数。在这个函数中,我传递了我的数组,但我没有传递,我也传递了我的“manager”实例。在视图2中,我也引用了我的“经理”。所以,我有两个相同“经理”的实例。这就是问题哦,我明白了,太好了,你找到了解决办法。