iphone视图控制器方法没有被调用但视图显示

时间:2011-04-08 03:15:04

标签: iphone uitableview view uiviewcontroller breakpoints

我有一个带UITableView的导航控制器,当选择一行时,它会转到另一个视图。加载时,断点会被击中。 目前很好。 当我点击后退按钮时,表格视图显示正常,带有数据。 但是,即使我在viewcontroller中启用了断点,也没有像最初加载时那样受到攻击!但是,数据加载正常。现在注册的唯一断点是当我点击一行时(didSelectRowAtIndexPath)。

3 个答案:

答案 0 :(得分:0)

断点设置在哪里,你期望它断开?

也许您需要在viewWillAppear方法中调用以下内容...

[self.table reloadData];

答案 1 :(得分:0)

这取决于您的断点实际位于何处。如果viewDidLoad方法中有断点,那么只有在首次创建视图时才会调用它。从另一个视图返回时,视图不会再次加载。所以断点不会打。但是,将调用viewWillAppear方法。

答案 2 :(得分:0)

您在这里使用导航控制器。导航控制器拥有一个导航堆栈,其中包含UIViews,顶部是可见的。

现在,假设已加载表视图,然后移动到另一个(现在是导航堆栈中的最顶层视图)。注意 - 表视图没有消失。就在那里,就在您目前正在展示的视野之下。

因此,当您移回到表视图时,它不会被重新加载,因为它从未消失(已释放),只是被隐藏。

上述情况有例外,有时会发布未在屏幕上显示的视图(例如,低记忆情景情况),但你不能指望它。

UINavigationController Class Referance很好地解释了这个概念。