我有一个显示联系信息的表格视图。我有另一种视图作为“接触垫”。基本上它有空或文本填充行。当用户点击tableview上的按钮时,我希望它具有空行(或默认状态),并且当用户在tableview上点击一行时,我希望它预先填充文本。我写入/读取数据源的方法工作正常,但是一旦提出了“接触垫”视图;它保存了它的状态。
例如,如果我用按钮打开“接触垫”视图,则显示正确的默认状态。然后,如果我通过点击一行打开“触摸板”视图,它将显示正确的文本,但如果我尝试通过按钮再次打开它,那么它将不会重新显示默认状态,而是显示文本从此之前。
关闭视图后如何重置视图?我在[self removeFromSuperview]之前调用dealloc()吗?
答案 0 :(得分:0)
在viewWillAppear
方法中,只需执行
[self.tableView reloadData];
每次有导航或每次打开视图时都会调用此方法。
答案 1 :(得分:0)
请记住,将视图添加为子视图后,其保留计数会增加1。 因此,如果您从超级视图中删除它,则会将其下移到1.您应该在将其添加到另一个视图后释放子视图。这样当你调用removeFromSuperview时,它会减少一个并完全释放。