UIViewController의 하위 클래스 인 OTNetwork 클래스가 있습니다.UIViewController를 호출하고 결코 할당 해제되지 않습니다.
사용자는 내가 전화를이 코드를 사용 버튼을 밀어 때 :
사용자가 종료 싶어OTNetwork *net = [[OTNetwork alloc] initWithNibName:@"OTNetwork" bundle:nil];
[self presentModalViewController:net animated:YES];
[net release];
, 버튼을 밀어하고 OTNetwork 객체가 호출자의 ViewController 뷰 컨트롤러를 기각한다 알림을 보냅니다. 이것은 코드입니다 :
[self dismissModalViewControllerAnimated:YES];
내 문제는 OTNetwork 객체 dealloc 메소드가 호출되지 않는다는 것입니다. 그리고 결코 멈추지 않는 타이머에 대한 무효화 호출이 있습니다. 임시적인 문제는 메모리 누수입니다.
발신자보기 컨트롤러에서이 개체는이 코드 행에 의해서만 생성되거나 해제됩니다.
도움이 필요하십니까?
미리 감사드립니다.
답변을 주셔서 감사합니다,하지만 내가 undestood, 방법을 만듭니다 개체를 가져 와서 그것을 반환해야합니다, autorelease 권리가 있어야합니까?이 경우에는 어떻게 풀릴 것이라고 가정 할 수 있습니까?이 메서드의 호출자에 의해 – NemeSys
개체 할당 및 반환 다른 질문입니다.하지만 네, autorelease 수 있습니다. 함수에서 반환하는 동안 객체를 반환하지만 호출 함수에서 유지해야합니다. 그러나 현재 질문의 맥락에서 dealloc이 호출되도록하려면 "net"객체에 대한 참조를 유지 한 다음 수동으로 해제하십시오 viewcontroller가 닫힐 때를 알기 위해서는 호출 컨트롤러로 다시보고 할 델리게이트를 설정해야 할 수도 있습니다. 내 대답을 날짜를 기입하는 방법을 포함합니다. – vipinagg