我有一个基于导航控制器的简单iPhone应用程序。有两个视图控制器,VC1和VC2,都有表视图。 VC2还有一个自定义表格单元格。当用户在VC1中选择一行时,VC2被推入堆栈。当用户选择后退按钮时,它被移除。典型的导航内容。
我遇到的问题是,当按下后退按钮时,VC2中单元格中的数据仍然存在,因此当用户在VC1中选择不同的行时,VC2会被“旧”数据推回到堆栈在单元格中,在VC2中的方法重新加载数据之前。
我想确保每次按下后退按钮时都会删除VC中表格中的数据。我已经尝试使用viewWillDisappear释放tableview,但它无法正常工作。处理这种情况的推荐方法是什么?我看过这些文档,但这对我来说并不明显(对我来说)。
答案 0 :(得分:0)
在viewWillDissapear或dealloc方法中试用此代码段。
if(yourTableViewCellObject) [yourTableViewCellObject release];
if(yourTableViewCellObject) yourTableViewCellObject=nil;
这可能有用。
答案 1 :(得分:0)
自从我问起原来的问题以来,我已经多次使用过这种技术。正如我在@Aditya的评论中提到的,我发现处理这个问题的最简单方法是使用viewWillDisappear隐藏带有“旧”数据的tableview,当用户导航回页面时,请等到在将表视图再次显示之前,将“新”数据加载到表中。