2012-09-09 4 views
0

XML 문서를 파싱 중입니다. 내가 통과하고 각 노드에 대한 특정 노드에 대한 값을 보유하려면 NSMutableString 있습니다 - NewsElement 클래스를 업데이트하고 싶습니다. 하여가 elementName 내가 업데이트 할 핵심setValue는 NSString을 복사하는 대신 객체를 가리 킵니다.

[newsElement setValue:currentElementValue forKey:elementName]; 

currentElementValue는 NSMutableString입니다 :

이 내 코드입니다. 각 필드는 NSString입니다. 문제는

답변

1

아마도 currentElementValue을 복사하는 것은 문제를 해결하는 것 ... 대신 currentElementValue 주소로 지금 내 NSString 점을 문자열을 복사하는 그래서 모든 필드는 항상 동일하다. 당신은 시도 :

[newsElement setValue:[currentElementValue copy] forKey:elementName]; 

는 불변의 복사본을 만들 것입니다 (즉 NSString)는 NSMutableString입니다 currentElementValue의. 당신은 변경할 수 복사본이 필요한 경우, 예를 들어, 대신 mutableCopy 방법을 사용할 수 있습니다

[newsElement setValue:[currentElementValue mutableCopy] forKey:elementName]; 
+0

넵 - 속임수를 썼는지 ... 난 그냥 문자열 값 대신 전체 요소를 복사하기 때문에 명중 메모리를? – YogevSitton

+0

나는 무슨 일이 일어나고 있는지 알기에 충분한 문맥을주지 못했다. 'currentElementValue' 란 무엇인가요? 질문에서 저는 그것이'NSMutableString'이라고 가정 했습니까? – mttrb

+0

예 - NSMutableString – YogevSitton

관련 문제