我在我的应用程序中遇到了一个问题:我测试了对包括
这在我应用程序的旧版本中运行良好,但现在在iPhone模拟器中没有工作:
这是因为在
全局的
这是设计行为吗?我找不到任何参考/文档,指出在UIViewController内调用
viewDidUnload
的UIViewController
进行的didReceiveMemoryWarning
调用。这在我应用程序的旧版本中运行良好,但现在在iPhone模拟器中没有工作:
didReceiveMemoryWarning
不再被调用。这是因为在
viewWillDisappear
中调用了[NSNotificationCenter defaultCenter] removeObserver:self]
(其中self是UIViewController),以注销我在viewDidAppear
中添加的某些生命周期通知。全局的
removeObserver:
调用不仅删除了我添加的通知,而且显然也删除了系统的UIApplicationDidReceiveMemoryWarningNotification通知,导致UIViewController的didReceiveMemoryWarning
被调用。这是设计行为吗?我找不到任何参考/文档,指出在UIViewController内调用
removeObserver:
会破坏标准的memoryWarning处理。