我正在读一本书,其中有一个带有两个标签的UITabBarController。一个时间标签和另一个催眠标签。 时间标签显示TimeViewController
并且催眠标签显示HypnosisViewController
。
这是TimeViewController
:
- (void)viewDidUnload
{
[super viewDidUnload];
NSLog(@"Unloading TimeViewController's subviews");
timeLabel = nil;
}
这本书说如果我在 Hypnosis 标签上模拟记忆警告, 我应该看到上面输入的日志消息。但是,这不会发生。 有谁知道为什么?我正在使用iOS 6.1模拟器和最新版本 Xcode(即使这本书是关于iOS 5的)。
答案 0 :(得分:3)
在新版本中已弃用,您应该使用;
didReceiveMemoryWarning
来自Apple:
在iOS 6中,现在不推荐使用UIViewController的viewWillUnload和viewDidUnload方法。如果您使用这些方法来释放数据,请改用didReceiveMemoryWarning方法。如果未使用此方法,也可以使用此方法释放对视图控制器视图的引用。在执行此操作之前,您需要测试视图不在窗口中。
答案 1 :(得分:0)
回答评论中的新问题:显然这也发生了变化。收到低内存警告时,屏幕视图不再自动销毁。来自http://forums.bignerdranch.com/viewtopic.php?f=219&t=5111#p13862