저는 Quinn Taylor의 답변에 더하여 저의 경험을 추가하고 싶습니다.
내 앱 중 하나에서 데이터를 구문 분석하고 핵심 데이터 개체에 저장하고 나중에 이러한 개체를 뷰에 표시해야합니다. 사실, 앱은 정상적으로 작동하고 전혀 충돌하지 않습니다. 여러 번 앞뒤로 탐색하는 스트레스 테스트를 시도하고 가능한 한 빨리 여러 뷰를 열려고 시도 할 때까지. 위의 메시지와 함께 앱이 충돌합니다.
나는 Quinn이 그의 대답에서 제안한 모든 방법을 시도했지만 정확한 원인이 어디인지 알아 내지 못했습니다.
NSZombieEnabled = YES를 설정하고 NSStackLogging = YES를 설정하고 명령 쉘 malloc_history를 실행하여 이유를 알아 냈지만 여전히 운이 없습니다. 항상 핵심 데이터 개체에 데이터를 저장하는 위치를 가리 킵니다. 사실 저는 거기에서 과도하게 릴리스 된 개체를 수천 번 확인했습니다. 이상한 것은 없습니다.
다양한 도구 (Allocations, Leaks 등 ...)를 사용하여 Instruments에서 실행해도 여전히 도움이되지 않았습니다. Guard Malloc을 활성화하면 여전히 아무것도 얻지 못합니다.
최종 구조 : Core Data에서 개체를 가져온 뷰로 돌아가서 이러한 모든 개체에 유지 메시지를 보냈으며 이러한 변경 사항을 기록했습니다. 문제가 해결되었습니다 !!!
그래서 제가 하나를 유지하지 못했다는 것을 알게되었습니다. 그것이 바로 그 원인입니다. 내 경험을 공유하여 앱에 대한 또 다른 구조를 얻으십시오.