“警告:从不同的Objective-C类型分配”的说明

时间:2009-11-03 21:11:27

标签: objective-c string

如果我将可变字符串的值设置为数组中的值,并使用以下代码来操作它:

NSMutableString *theCountry = [listItems objectAtIndex:3];
theCountry = [theCountry stringByReplacingOccurrencesOfString:@"\"" withString:@""];

我在上面代码的第二行之后收到警告“警告:从不同的Objective-C类型分配”。如果我在方法调用之前没有“theCountry =”,则警告消失,但字符串不会被操纵...

1 个答案:

答案 0 :(得分:5)

声明stringByReplacingOccurrencesOfString:withString:方法返回NSString*,而不是NSMutableString*。基本上,在作业中,您将NSString*分配给NSMutableString*类型的变量,该变量不一定安全(请注意NSMutableString继承NSString,而不是其他方式左右)。