私はXML文字列を解析しており、メモリリークがあります。私はこのコードが漏れている知っているが、修正が何であるかわからない。このようなiPhoneのメモリリークObj Cコード
コードは、根本的な欠陥であると表示されます。
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)value{
if ([currentElement isEqualToString:@"problem_id"]){
currentProblem.problemId = [[value copy] intValue];
} else if ([currentElement isEqualToString:@"rule_instance_id"]){
currentProblem.ruleInstanceId = [value copy];
} else if ([currentElement isEqualToString:@"description"]){
currentProblem.desc = [value copy];
} else if ([currentElement isEqualToString:@"name"]){
currentProblem.name = [value copy];
ではなく、私はつかんで対処すべきかどうかはわかり見つかったキャラクターとそれらを保持/解放する。
感謝Problem
クラスの定義では
私があなたの場合は、文字列に 'retain'の代わりに' copy'を使用します.-可変NSString'サブクラスがあります。 –
ああ、良い点。ソリューションの残りの部分を保持する必要があります。文字列が変更可能である必要がない場合は、NSString + retainがより効率的になります。 –