ошибка: 'Попытка изменить неизменный объект с помощью appendString:' - - PullRequest
3 голосов
/ 08 марта 2011

Я получаю ошибку 'Попытка изменить неизменяемый объект с appendString:'

и мой код

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


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

}  

ArrayValue - NSMutableArray.
Я не могу понятьв чем проблема

заранее спасибо

Ответы [ 3 ]

7 голосов
/ 08 марта 2011

После публикации код, который у вас есть, не выдаст описанную вами ошибку. Возможно, где-то между размещением resultString и циклом for вы перезаписываете его обычной строкой NSSring.

2 голосов
/ 08 марта 2011
    ArrayValue = [NSMutableArray arrayWithObjects:@"b",@"o",@"n",nil];
NSMutableString *resultString= [[NSMutableString alloc]init];

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

}  

у меня работает ..

2 голосов
/ 08 марта 2011

Просто сделайте так:

Это работает для меня ...

    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 на консоли:

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

...