如果我将可变字符串的值设置为数组中的值,并使用以下代码来操作它:
NSMutableString *theCountry = [listItems objectAtIndex:3];
theCountry = [theCountry stringByReplacingOccurrencesOfString:@"\"" withString:@""];
我在上面代码的第二行之后收到警告“警告:从不同的Objective-C类型分配”。如果我在方法调用之前没有“theCountry =”,则警告消失,但字符串不会被操纵...
答案 0 :(得分:5)
声明stringByReplacingOccurrencesOfString:withString:
方法返回NSString*
,而不是NSMutableString*
。基本上,在作业中,您将NSString*
分配给NSMutableString*
类型的变量,该变量不一定安全(请注意NSMutableString
继承NSString
,而不是其他方式左右)。