2011-11-30 4 views
3

xcode 4.2에서 메모리 누수가 발생하는 이유를 알지 못합니다. 내가하지 않았기 때문에 alloceventArraySave 나는 그것을 풀어 놓아야합니까? 나는 이것이 autorelease 풀에 추가 될 것이라고 생각했다.Xcode에서 메모리 누수가 발생하는 이유

//Unarchive in to array 
NSMutableArray *eventArraySave = [NSKeyedUnarchiver unarchiveObjectWithFile:savedfilePathName]; 

위의 코드에 문제가 있거나 해결해야 할 사항이 있습니까? 또한 alloc ed eventArraySave 또는 init ed eventArraySave이 없다고 강조하고 싶습니다. 미리 감사드립니다 :)

답변

0

게시 한 코드에 아무런 문제가 없습니다.

+0

최근 테스트를 해보지는 않았지만 NSKeyedArchiver를 사용하면 보관 한 것과 동일한 클래스 (변경 가능 또는 변경 불가능)가 반환되어야한다고 생각합니다. 나는 당신이'NSPropertyListSerialization'과 컬렉션 직렬화 연산 ('writeToFile : ...')을 생각하고 있다고 생각한다. –

+0

@ Rob : Mac에서이 기능을 테스트 한 결과 여러분이 옳습니다. 나를 고쳐 주셔서 고마워, 나는 내 게시물을 수정합니다. –

2

eventArraySave을 출시하지 않아야합니다. 0 (자동 출시 후)의 보유 수와 함께 반환됩니다. 이 줄에서 누수가 발견되면 다른 곳에서 너무 많이 보유하고 있거나 eventArraySave에 포함 된 일부 객체를 너무 많이 보유하고있는 것입니다 (해당 객체가 할당 된 곳이기 때문에) .

누출 도구는 실수가 어디서 왔는지 알려주지 않습니다. 나중에 누출 된 메모리를 어디에 할당했는지 알려줍니다.

0

누출은 단순히 거기에 메모리가 생성되었지만 나중에 릴리스되지 않는다는 것을 말합니다.

당신의 임무는 이제 무엇이 공개되어야 하는지를 알아내는 것이지만 그렇지 않습니다.

관련 문제