2011-10-15 4 views
1

응용 프로그램을 종료 할 때 디버거가 viewDidDisappear에서 멈추거나 root view controller에서 dealloc을 원합니다. 그러나 디버거는 중단 점으로 이동하지 않습니다. 디버거를 중단 점에서 중지 시키거나 NSLog() 문을 인쇄하려면 어떻게합니까?viewDidDisappear 또는 dealloc에서 디버깅하는 방법?

+0

을 사용해야합니다. 디버거가 멈춰야합니다. 그렇지 않은 경우에는 해당 함수가 먼저 호출되지 않을 수 있습니다. – Phlibbo

+0

어떻게 앱을 종료합니까? 툴바에서 정지 버튼을 클릭하여 앱을 종료합니다. dealloc의 중단 점에서 절대로 멈추지 않습니다. – user698200

+0

일반적으로 앱을 직접 종료하지 마십시오. iPhone 홈 화면으로 이동하여 홈 버튼을 두 번 탭하고 앱을 종료하면 다시 할 수 있지만 대개는 그렇지 않습니다. 어떤 dealloc 함수를 사용합니까? AppDelegate에있는 것이 있습니까? – Phlibbo

답변

0

귀하의 의견에 따르면, 귀하의 문제는 구체적으로 MainViewControllersdealloc이 호출되지 않는다는 것입니다. 진리는 그것이 부름 될 것이지만 어떤 경우에만 가능하다는 것입니다. xCode로 앱을 종료하면 get, get이 종료되므로 dealloc이 호출되지 않습니다. iOS4 이상으로 홈 버튼 만 누르면 앱이 백그라운드에서 계속 실행되므로 dealloc도 실행되지 않습니다. Dealloc 그러나 a) iPhones의 작업 관리자 (두 번 홈 버튼 누르기)를 통해 앱을 강제 종료하거나 OS가 메모리를 필요로하는 이유로 종료하려는 경우 b) 호출됩니다.

dealloc으로 앱을 출시하고 싶지는 않을 것입니다. 이후 앱이 사라질 가능성이 높기 때문에 사용자가 앱을 떠나기 전에 특정 작업을 수행하고 싶다고 생각합니다. 그렇게하려면 applicationDidEnterBackground 또는 applicationWillTerminate

+0

시뮬레이터의 홈 버튼을 두 번 눌러도 dealloc이 호출되지는 않지만 앱이 종료되기 전에 모든 것이 해제되었는지 확인하고 싶습니다. 그건 내 dealloc 디버깅의 목적입니다. semall은 dealloc을 사용할 수 없습니다. – user698200

+0

당신은 내가 말하는 것을 읽습니다, 그렇지 않습니까? 물건을 놓을 필요가 없습니다. 어쨌든 앱이 종료되면 사라집니다. 다른 모든 것들을 위해서, 내가 썼던 것처럼 applicationWillTerminate를 사용하십시오 ... – Phlibbo

+0

왜 모든 exmaple 프로그램이 dealloc에서 해제하는지 이해할 수 없습니다. – user698200