2012-11-24 2 views
0

사용자 정의 uiview 클래스를 만들었으며 그 안에 다른 해제 호출이있는 dealloc이 있습니다.Iphone : 사용자 정의 UIView가 dealloc을 필요로합니까

이 사용자 정의보기에서는 단추, 텍스트보기 등의 3 개의 콘센트가 있습니다. 사용자 지정 uiview가 할당 해제되면이 오류가 발생합니다. 개체 오류 0x88782c0 : 해제 된 포인터가 할당되지 않았습니다.

코드 내부에는이 콘센트가 전혀 출시되지 않았습니다. 릴리스 콜 3 개를 제거했을 때 오류가 사라졌습니다. 해당 매장의 할당을 해제해야합니까?

[[[[NSBundle mainBundle] loadNibNamed:@"ParanoidView" owner:self options:nil] objectAtIndex:0] autorelease]; 

    [self.view setFrame:CGRectMake(0.0f, 0.0f, frame.size.width, frame.size.height)]; 

    [self addSubview:self.view]; 

위의 코드는 nib 파일을로드하기 위해 initWithFrame 호출에서 추가됩니다.

+0

왜 ARC를 사용하지 않습니까? – msgambel

+0

비 ARC를 사용하는 오래된 프로젝트입니까? 그래서 만약 내가 그것을 바꾼다면 나는 많은 것을 바꿔야 만한다. – LittleFunny

+0

솔직히 ARC로 변환하는 것은 생각보다 훨씬 빠르며 결국에는 훨씬 더 안정적인 응용 프로그램을 만들 것이며 코드는 훨씬 더 깨끗해질 것이다. – msgambel

답변

0

코드에 많은 문제가 있습니다.

[[[[NSBundle mainBundle] loadNibNamed:@"ParanoidView" owner:self options:nil] objectAtIndex:0] autorelease]; 

보유하지 않은 항목을 해제하거나 자동 취소 할 수 없습니다. 기간.