我很迷惑removeFromSuperview的内存管理。子视图没有调用dealloc当超级查看(UIViewController)dealloc
这里是我的代码:
MySubView *tMySubView = [[MySubView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
tMySubView.center = self.view.center;
tMySubView.tag = 1111;
[self.view addSubview:tMySubView];
[tMySubView release];
“自我” 是的UIViewController。
当“自我”调用dealloc但MySubView没有调用dealloc。
我知道addSubView retainCount +1。
所以我尝试添加[tMySubView removeFromSuperview]在 “自我” 的dealloc
而且MySubView的dealloc被称为...
我应该添加[子视图removeFromSuperview]当superView dealloc?
或者superView removeFromSuperview,它会自动调用subView的removeFromSuperview ...?
我找不出来。 :(
谢谢!
MyViewController * tMyViewController = [[[MyViewController alloc] init] autorelease]; \t [tNavigationController pushViewController:tMyViewController animated:YES];我这样写。 – wei 2011-03-10 10:43:41
不要混淆viewcontroller和它的视图。 – Max 2011-03-10 10:49:32
如何创建视图?在loadView中还是在XIB中? – hennes 2011-03-10 10:53:20