누출, I는 다음과 같이 viewDidAppear에있는 NSDictionary를 정의가 NSMutableDIctionary 일으키는 메모리에있는 NSData의 변경 가능한 복사 코드 내에서
데이터 사전 = [NSMutableDictionary ALLOC] INIT];
는 나중에 loadData 방법에서,이 같이있는 NSDictionary의 변경 가능한 사본을로드 : 나는 다른보기로 전환 할 때
나중에[dataDictionary setObject:[receivedData mutableCopy] forKey:[theConnection description]];
는, 내가 내 데이터 사전을 언로드 메모리를 절약하십시오. viewDidDissAppear에서 나는 다음을 넣었습니다.
[dataDictionary release]; dataDictionary = nil;
그리고 dealloc에서도 dataDictionary를 릴리스합니다.
그러나 mutableCopy와 관련된 메모리 누수가있는 것처럼 보입니다. 그리고 이것은 내가 작성한 유일한 mutableCopy이므로 위에 표시된 mutableCopy에 있어야합니다. 누군가가 이것이 새는 이유를 알 수 있습니까? 나는 mutableCopy가 NSMutableDictionary를위한 할당 외에도 또 다른 할당을한다고 생각하지만 mutableCopy가 사전 내에 있고 사전이 해제 된 이후로 어떻게 대처해야할지 모르겠습니다. 당신은 하나의 유지 수를 사용하여 NSMutableData를 수신하고 있으므로 사전에
감사합니다 ...
이, 당신이 필요로 잘 보이는'[receivedData 자료]'더 이상'receivedData'를 사용하는 경우, 그렇지 않으면에 atleast release dealloc에서 receivedData받은 –
그래, 사전에 사본으로 추가 한 후에 receivedData를 릴리스했습니다 ... – Jackson