无法附加字符串的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"];
感谢这个:
如下来解决这个问题更改代码。在实际中,我从文本框和移动号码值中获取国家代码标签,并且需要追加两者。你可以请帮助我如何做到这一点? –
@TimothyRajan当然 - 只需将文本框中的文本传递给'NSMutableString'的'stringWithString:'方法即可。 – dasblinkenlight
感谢您的建议。这可以工作 –