2011-03-08 82 views
1

我得到一個錯誤 「試圖改變一個不可改變的對象與appendString:」錯誤:試圖改變一個不可改變的對象與appendString:' -

和我的代碼是

NSMutableString *resultString= [[NSMutableString alloc]init]; 


for (NSMutableString *s in self.ArrayValue) 
{ 
    [resultString appendString:s]; 
    NSLog(resultString); 

} 

ArrayValue被NSMutableArray裏。
我無法理解問題出在哪裏

預先感謝您

+0

當你減少代碼,以便您可以發佈它,你應該確保您發佈的片斷給出了相同的結果,整個代碼。 – 2011-03-08 13:57:18

回答

6

作爲張貼,則代碼不會給你你描述的錯誤。可能在分配resultString和for循環之間的某個地方,你用正常的NSSring覆蓋它。

+0

你是對的我在做「resultString = @」「;」它給我一個錯誤 – Pooja 2011-03-08 14:09:29

2

只是不要有這樣的:

它爲我...

NSMutableString *resultString= [[NSMutableString alloc]init]; 
NSMutableArray *ArrayValue=[[NSMutableArray alloc]init]; 
[ArrayValue addObject:@"One"]; 
[ArrayValue addObject:@"Two"]; 
[ArrayValue addObject:@"Three"]; 

for (NSMutableString *s in ArrayValue) 
{ 
    [resultString appendString:s]; 
    NSLog(@"%@",resultString);------->You should use %@ to print the string otherwise will show your warning. 

} 

O/P on Console:

2011-03-08 19:13:02.243 iPadMables [4557:207] One

2011-03-08 19:13:06.224 iPadMables [4557:207] ONETWO

2011-03-08 19:13:09.388 iPadMables [4557:207] OneTwoThree

2
ArrayValue = [NSMutableArray arrayWithObjects:@"b",@"o",@"n",nil]; 
NSMutableString *resultString= [[NSMutableString alloc]init]; 

for (NSMutableString *s in self.ArrayValue) 
{ 
    [resultString appendString:s]; 
    NSLog(resultString); 

} 

作品我..

+0

數組值來自web服務器,我在其他視圖中使用相同的方法,它的工作正常 – Pooja 2011-03-08 13:57:19