无法附加字符串的NSMutableString - 错误

问题描述:

我有以下代码无法附加字符串的NSMutableString - 错误

NSMutableString *ibmcountryCodeLabel=[[NSMutableString alloc]init]; 
NSMutableString *imobileNumberValue=[[NSMutableString alloc]init]; 
[email protected]"555"; 
[email protected]"333"; 
NSLog(@"Done1"); 
[ibmcountryCodeLabel appendString:imobileNumberValue]; 
NSLog(@"Done2"); 

虽然两个字符串是可变的,当我尝试添加一个与另一个我收到“终止应用程序由于未捕获的异常‘NSInvalidArgumentException’,原因:'尝试使用appendString变异不可变对象:'“

通读所有线程。但无法找到解决方案。请帮助我。感谢您的时间

这里的问题是:这个任务会产生一个可变的字符串对象:

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

这个任务之后,但是,指向的对象ibmcountryCodeLabel不再是可变的:

[email protected]"555"; 

这是因为@"555"常量是NSString的不可变子类。试图修改它会导致运行时错误。

NSMutableString *ibmcountryCodeLabel=[NSMutableString stringWithString:@"555"]; 
NSMutableString *imobileNumberValue=[NSMutableString stringWithString:@"333"]; 
+0

感谢这个:

如下来解决这个问题更改代码。在实际中,我从文本框和移动号码值中获取国家代码标签,并且需要追加两者。你可以请帮助我如何做到这一点? –

+1

@TimothyRajan当然 - 只需将文本框中的文本传递给'NSMutableString'的'stringWithString:'方法即可。 – dasblinkenlight

+0

感谢您的建议。这可以工作 –