currentElement = [elementName copy];
items = [[NSMutableDictionary alloc] init];
currentname = [[NSMutableString alloc] init];
:
그래서 여기에 솔루션을 사용, 필요하지 않은 경우 복사 된 개체를 해제하여 "복사"전화 균형을하는 것입니다
currentid = [[NSMutableString alloc] init];
parser:didStartElement:namespaceURI:qualifiedName:attributes:
메서드를 두 번 이상 실행하면 이러한 모든 메모리 누수가 발생합니다.
이 문제를 해결하는 가장 쉬운 방법은 변수를 속성으로 변경하는 것입니다. 예를 들어, 헤더 파일의 변경 :
@interface SomeClass {
NSMutableDictionary *items;
}
에 :
@interface SomeClass {
}
@property (retain) NSMutableDictionary *items;
그리고 것은 @implementation SomeClass
후이 추가 :
self.items = [[[NSMutableDictionary alloc] init] autorelease];
:
는
@synthesize items;
그런 다음에 원래의 코드를 변경
B 메모리 문제를 점검하고 싶을 때 Xcode와 Instruments의 "Analyze"기능이 여러분의 친구입니다.
Xcode의 정적 분석기를 실행하려고 했습니까? 증상은 무엇입니까? 악기를 사용해 보셨습니까? – Romain
당신은 의미있는 대답을 좀 더 많은 문맥을 제공해야 할 것입니다. 이 iVar가 클래스에 있습니까? 아니면 이러한 로컬 변수가 메서드/함수에 있습니까? 나중에 무엇을합니까? – FelixLam