저는 Apple의 메모리 관리 설명서를 읽었으며 응용 프로그램에서 적절한 메모리 관리를 보장하기 위해 따라야하는 실무를 이해하고 있다고 생각합니다.objective-c에서 메모리 누수를 잡아내는 디자인 패턴?
현재 코드에 메모리 누수가없는 것 같습니다. 그러나 코드가 복잡 해짐에 따라 객체의 할당과 할당 해제를 추적해야하는 특정 패턴이 있는지 궁금합니다.
유형의 활성 객체 수를 포함하는 응용 프로그램 실행을 통해 나타나는 일종의 전역 객체를 만드는 것이 합리적입니까? 각 객체는 init 메소드에서 유형의 카운트를 증가시키고 dealloc에서 감소시킵니다. 전역 개체는 특정 유형의 수가 0이 아닌지 적절한 시간에 확인할 수 있습니다.
편집 : Xcode를 사용하여 프로젝트를 분석하는 방법뿐만 아니라 누수를 사용하는 방법을 알고 있습니다. 이 게시물의 이유는 누출 또는 쉽게 분석 할 수없는 사례를 추적하는 것입니다.
EDIT : 또한 전역 개체를 검사하는 단위 테스트를 실행하여 빌드에서 누수를 조기에 감지 할 수 있도록하는 것이 좋습니다. 경험이없는 객관적인 프로그래머로서 나는 이것에 관해 다른 사람들의 견해로부터 이익을 얻을 것이라고 생각한다.
'[anObject retainCount]'를 사용하여 객체의 보유 수를 찾을 수 있으므로 시스템이 필요하지 않습니다. – gurooj
@gurooj [-retainCount'에 대한 설명] (http://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/) occ/intfm/NSObject/retainCount) 자체에 설명되어 있지만 메모리 관리 디버깅에는이 메서드를 사용하지 말아야합니다. – Caleb