我刚升级到Xcode4.5。当我运行单元测试时,我意识到[view setbackgroundcolor]不会调用[viewdidload]。
有没有人有同样的问题?
答案 0 :(得分:0)
这是一些你不应该依赖的无证件行为,因为它(有一天会破坏你的代码)只是破坏了你的代码 ......
答案 1 :(得分:0)
您使用的是iOS6吗?
在iOS 6之前,当发生内存不足警告时,UIViewController类会清除其>视图,如果它知道它可以重新加载或稍后再次重新创建它们。如果发生这种情况,它还会调用> viewWillUnload和viewDidUnload方法,让您的代码有机会放弃与视图层次结构相关联的任何对象的所有权,包括从nib文件加载的对象>在您的文件中创建的对象viewDidLoad方法,以及在运行时懒洋洋地创建并添加到视图层次结构中的对象。在iOS 6上,视图永远不会被清除,并且永远不会调用这些>方法。如果视图控制器需要在内存>较低时执行特定任务,则应覆盖didReceiveMemoryWarning方法。