Objective c 更改可变字符串的值
如何更改可变字符串的值?我就是这么做的Objective c 更改可变字符串的值,objective-c,Objective C,如何更改可变字符串的值?我就是这么做的 NSString *str = @"This is string"; NSMutableString *str = [NSMutableString stringWithFormat:@"%@", str]; str = @"New string" -> wrong incompatible pointer types assigning to NSMutableString from NSString 这是初始化NSMutableString
NSString *str = @"This is string";
NSMutableString *str = [NSMutableString stringWithFormat:@"%@", str];
str = @"New string" -> wrong incompatible pointer types assigning to NSMutableString from NSString
这是初始化
NSMutableString
的方法:
NSMutableString *string = [[NSMutableString alloc]init];
您可以使用中指定的任何其他方式。按照您的方式,您没有创建任何NSMutableString
类的实例。然后,如果要向其中添加一些字符串:
[string appendString:@"content"];
如果要更改字符串的某些部分(追加、插入等),通常出于性能原因,只需使用
NSMutableString
如果要为字符串变量分配新值,可以使用一个好的旧
NSString
,因为最后一行简单地将一个完整的新字符串对象分配给str
:您可以使用setString
替换整个字符串:
NSString *str = @"This is string";
NSMutableString *mutableStr = [NSMutableString stringWithFormat:@"%@", str];
...
[mutableStr setString:@"a different non mutable string"];
如另一个答案所示,一个不可变的
NSString
可能就足够了。如何在连续的行中声明两个同名变量?根据文档,NSMutableString
还有许多其他初始值设定项。