2017-10-19 17 views
0

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

回答

1

这很正常。

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

因此,应用于data阵列的第二个视图控制器的更改不会影响第一个视图控制器的data阵列。

为了使这些变化使你需要改变data阵列莫名其妙第一视图控制器的第一个视图控制器的效果;例如,您可以使用委托或回调。

+0

最前一页,谢谢你萌给你回答。 所以,我的问题不是后退按钮,我的数据保存。问题是,我厌倦了使用“经理人卡斯尔”作为我的objet,并且我使用了这个错误。 在我的第一视图中,我安排了这位经理(在这一个中,我有我的所有功能来删除,并添加项目)。要从视图1传递给我的视图2(uiTableViewController),我使用了准备for segue函数。在这个函数中,我通过了我的数组,但是我并没有把我的“经理”实例传递给我。在视图2中,我也是我的“经理”。所以,我有两个相同的“经理”实例。这是问题 – Wills

+0

哦,我看到,很棒,你找到了解决方案。 –