2012-08-22 2 views
0

을 내가있는 viewDidLoad 내부에이 코드를 가지고 : 나는 새 또는 복사하여 개체를 초기화 할 때마다메모리 분석 : 엑스 코드

NSMutableArray *children = [NSKeyedUnarchiver unarchiveObjectWithData:childData]; 
self.childrenArray = [children copy]; 

을, 나는 바로 그것을 해제해야? 그래서 xcode에서 코드를 분석 할 때 childrenArray를 해제하지 않은 것에 대한 경고 메시지가 나타나지 않습니다. 왜 그렇습니까? 나는 dealloc에서도 확인하기 위해 그것을 발표하지 않을 것이다. 나는 이전의 많은 코드에서 내가 새로운 것을 시작할 때 경고를 주었다는 것을 기억한다. ARC를 사용하지 않습니다.

편집 : 복사 속성, 즉 @property (복사, 비 원자)를 사용 중입니다. 여기서는 신시사이저가 객체 대신 객체를 복사하므로 여기에는이 작업이 필요합니다. 내 쿼리 합성기 개체를 복사하지 않는 개체의 보유 횟수를 늘리는 경우, 어떻게이 시나리오 컨텍스트에서 보존 다릅니다. 나는 이것을 이해할 필요가있다. 감사합니다

고마워요.

+0

할당 및 누출에 대한 신청서를 작성하셨습니까? – mvb

+0

모르겠다. 나는 항상 제품 -> 분석, xcode 4.3을 사용한다. –

+0

이것은 확실히 분석기의 결점 인 것으로 보이지만, Xcode에서 시도해야한다. 버그를보고하기 전에 4.4.1. 나는 4.4.1에서 귀하의 코드를 시험해 보았고 분석기가 누출 가능성을 정확하게 지적했습니다. –

답변

0

분석기의 버그. 파일로 보내주십시오. 여기에 버그 번호를 게시하십시오. (Xcode/clang의 최신 버전에서 플래그를 지정하지 않는 한)

ARC를 사용하지 않기 때문에 분석기가 사용자가 까다로운 것으로 가정 할 수 있습니다. 그래도 나는 이것이 플래그라고 생각한다.