메모리 부족 사고를 피하기 위해 코드를 강화하려고합니다. 특히 다음 단계에 따라 발생합니다.도움말 - 무한 dealloc 루프
- 시작 앱.
- 모달 뷰 컨트롤러를 제공하는 탭 버튼.
- 메모리 시뮬레이션 경고.
어디서나 NSLog 문을 통해 초기 (제시) viewcontroller가 메모리 경고를 받는다는 것을 알게되고, 그때 dealloc 메서드가 충돌 할 때까지 계속 호출됩니다. 디버깅을 위해 NSLog 문을 제외하고 내 didReceiveMemoryWarning, viewDidUnload 또는 dealloc 메서드에는 아무 것도 없습니다.
소리가 어떻게 들리나요? 어쩌면보기 컨트롤러에 다시 포인터가있는 일부 유지 된 인스턴스 변수가 있습니까? 이 문제의 원인이 될 수있는 일반적인 추측이 필요합니다. 1000 줄로 실행되는 전체보기 컨트롤러 코드를 게시 할 수 없습니다.
감사합니다.
흠,보기 컨트롤러에서 보유 횟수가 dealloc 일 때 보셨나요? 나는 그것이 1이어야한다고 생각할 것이다. 또 다른 생각은 컨트롤러를 유지하고있는 델리게이트를 가지고 있으며이 둘 사이에 유지 루프가 있는가? – drekka
새로운 프로젝트와 간단한보기 컨트롤러로 재생산 해 볼 수 있습니까? – Eimantas
그래, 내가 문제를 발견했다고 생각해. 메인 윈도우에 뷰를 추가 한 직후 appcontrol에 viewcontroller를 공개했다. 바보. 이 질문에 적절하게 대답하면 받아 들일 것입니다. – ed94133