removeFromSuperview의 메모리 관리와 혼동이있었습니다.superview (UIViewController) dealloc 때 subview에서 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입니다.
"self"는 dealloc을 호출하지만 MySubView는 dealloc을 호출하지 않았습니다.
addSubView retainCount +1을 알고 있습니다.
그래서 나는 [tMySubView가 removeFromSuperview]
그리고 MySubView의 dealloc이 호출 된 "자기"의 dealloc ...에
내가 추가해야합니다 추가 시도 [서브 뷰 removeFromSuperview]; 언제 superView dealloc?또는 superView removeFromSuperview는 자동으로 subView의 removeFromSuperview ...를 호출합니다.
알아낼 수 없습니다. :(
감사합니다!
MyViewController * tMyViewController = [[[MyViewController alloc] init] autorelease]; \t [tNavigationController pushViewController : tMyViewController animated : YES]; 이와 같이 작성합니다. – wei
viewcontroller와 뷰를 혼동하지 마십시오. – Max
보기가 어떻게 생성됩니까? loadView 또는 XIB? – hennes