2012-09-09 23 views
0

我正在解析一個XML文檔。我有一個NSMutableString來保存我通過的每個節點的值以及特定的節點 - 我想更新NewsElement類。setValue指向對象而不是複製NSString

這是我的代碼:

[newsElement setValue:currentElementValue forKey:elementName]; 

的currentElementValue是NSMutableString的的elementName爲關鍵我想更新。每個字段是NSString。 問題是不是複製串,現在我NSString指向currentElementValue地址,以便所有字段都是一樣的...

回答

1

想必複製currentElementValue將解決您的問題。您是否嘗試過:

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

這將使一個不可變拷貝(即一個NSString)的currentElementValue這是一個NSMutableString的。如果需要拷貝是可變的,你可以使用mutableCopy方法來代替,例如:

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

燁 - 該訣竅...任何記憶的打擊,因爲我複製整個元素,而不只是它的字符串值? – YogevSitton

+0

我不知道,你還沒有給出足夠的上下文來知道發生了什麼。什麼是'currentElementValue',你的問題是我認爲它是一個'NSMutableString'? – mttrb

+0

是的 - 它是一個NSMutableString – YogevSitton

相關問題