我用视图控制器A作为根视图控制器制作了UINavigationViewController,然后推送视图控制器B。当我在模拟器中模拟内存警告时,只调用了A的didReceiveMemoryWarning。当然,我在 A 和 B 中都覆盖了 didReceiveMemoryWarning。最终我通过在 A 的 didReceiveMemoryWarning 中调用 B 的 didReceiveMemoryWarning 来解决这个问题。但是我不知道为什么会自动调用 B 的方法。A 的 viewDidUnload 和 B 的 viewDidUnload 都按预期调用,因为我在从 B 呈现模态视图控制器时触发了警告。
如果视图控制器 B 是导航控制器的根,则调用它的 didReceiveMemoryWarning 没有问题。