我有一个CoreData项目,其中:

-VC1有一个项目表 . 单击一个单元格会调用didSelectRowAtIndexPath func,该函数通过presentViewController方法导致VC2 .

-VC2显示所选项目的详细信息 . 有一个按钮编辑,通向VC3,我可以编辑项目的详细信息并保存,或者另一个按钮返回VC1 .

  • 从VC3到VC2:当我编辑细节并保存在VC3中时,VC3将被解除,VC2将重新出现并显示更新的信息 . 没问题 .

  • 从VC2到VC1:当我按下VC2中的后退按钮时,VC2将被解除,并且显示VC1但表格数据是原始数据,并且未显示更新的详细信息/项目 . 只有在我退出应用程序并重新运行它时才会显示 .

我测试了print(),看看VC1的viewDidAppear(我有标准的fetchAndResults和tableView.reloadData())是否会在从VC2返回时启动,我注意到它没有打印 .

当VC2与didSelectRowAtIndexPath函数一起呈现时,是否意味着VC1没有消失?

如果是这样,我如何使VC1重新运行其viewdid似乎?

我试图在解除之前从VC2重新加载VC1的tableview,但它给了我意想不到的nil错误 .

帮我!谢谢 .