我收到警告:不兼容的Objective-C类型分配'struct NSString *',期望'struct NSMutableString *'

时间:2010-08-05 10:56:10

标签: iphone cocoa cocoa-touch ipad

我收到警告:不兼容的Objective-C类型在此行上分配'struct NSString *',期望'struct NSMutableString *': -

 Value = [Value stringByAppendingString:str];

我将Value声明为

 NSMutableString* Value;

如何纠正这个问题?

1 个答案:

答案 0 :(得分:4)

使用NSMutableString,您可以(而且应该)执行以下操作:

[Value appendString:str];

-stringByAppendingString确实返回NSString实例,即使它在NSMutableString上调用并将其转换回mutable也会导致性能开销和更糟糕的代码可读性。

P.S。另请注意,在objective-c样式指南中,变量名称应以小写开头。