我的NavigationController有一个“问题”。实际上在我看来,这种行为似乎是有意的。
My App使用SplitViewController,使用TableViewController作为MasterView,使用NavigationController作为DetailView。
我有4个视图,我可以从每个视图切换到另一个视图。我观察到的是每次我使用其中一个NavigationController按钮来更改View时,内存消耗增加了近1.5MB。
使用NavigationController的后退按钮,当使用的内存减少时,视图似乎正确释放。
我读到每次切换时都将视图放在堆栈上,但实际上这不是我需要的(至少我希望如此,因为在某种程度上我依赖于viewdidload方法来更新内容,我通过NSNotification传递给每个视图。那时如果所有视图都可以共享传递给userInfo的那样会很好,但这是一个不同的故事......)。
所以我正在寻找的是一种方法来替换NavigationController视图堆栈上的最新ViewController。我不需要100个视图的历史记录,其中40个视图总是实际上是相同的。我只使用后退按钮找到了关于内存未被释放的答案。因此,我假设当前的行为是预期的行为。
答案 0 :(得分:2)
我正在寻找的是一种方法来替换NavigationController视图堆栈上的最新ViewController
setViewControllers:animated:
允许您根据自己的喜好构建堆栈。