【问题标题】:data erased reappear when i pressed the back button Swift 3当我按下后退按钮 Swift 3 时,删除的数据重新出现
【发布时间】:2017-10-19 21:12:30
【问题描述】:

我有 2 个视图和一个导航控制器。首先,在数组中添加数据。这些数据显示在我的第二个视图中(是一个 tableviewController)。我可以直接从 tableView 中删除数组中的一些数据,同时删除一行。 当我按下后退按钮并尝试添加新数据时,当我的第二个视图出现时,我看到了我的数据新闻数据,并且数据被删除了......我不明白。 从视图 1 到视图 2,我有“准备(对于 segue:UIStoryboardSegue,发件人:Any?)”功能。 任何帮助将不胜感激。

【问题讨论】:

    标签: uitableview swift3 uinavigationcontroller


    【解决方案1】:

    这是正常的。

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

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

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

    【讨论】:

    • 首先,谢谢萌的回答。所以,我的问题不是后退按钮,我的数据被保存了。问题是,我厌倦了为我的对象使用“经理 calss”,我用错了。在我的第一个视图中,我实例化了这个管理器(在这个管理器中,我拥有所有要擦除和添加项目的功能)。为了从视图 1 传递到我的视图 2(uiTableViewController),我使用了为 segue 准备的功能。在这个函数中,我传递了我的数组,但我不知道我也传递了我的“经理”实例。在视图 2 中,我也实例化了我的“经理”。所以,我有两个相同的“经理”实例。这是问题
    • 哦,我明白了,太好了,你找到了解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 2016-11-04
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多