:当我向视图添加子视图时,使用[myview addsubview:anotherview.view]将“我的视图”保留在内存中,这可能会在将大量视图添加为子视图时导致出现问题。
答案 0 :(得分:1)
在您的示例中,myview
将保留anotherview.view
(view.view?..)。
但是,只要您不将其作为子视图添加到其他视图或以任何其他方式保留,myview
将不会被保留。
答案 1 :(得分:1)
是的addSubView会保留你添加的子视图,是的,如果你添加了太多的子视图,你可能会遇到内存问题,但是这种情况极不可能,如果发生这种情况,你会收到
- (void)didReceiveMemoryWarning
其次是:
- (void)viewWillUnload
然后:
- (void)viewDidUnload
这将卸载您的视图,并释放其子视图。但是不要忘记在viewDidUnload方法上将其他子视图设置为nil,因为ViewController本身也保留了子视图,因此当视图卸载时它们不会被释放,除非你在这里将它们设置为nil。