NSMutableString附加失败

dar*_*sky 0 iphone objective-c nsstring nsmutablestring

我有一个NSString我想{在它的开头添加一个.

 NSMutableString *str = [[NSMutableString alloc] initWithString:@"{"];
    [str stringByAppendingString:extracted];
Run Code Online (Sandbox Code Playgroud)

str仅返回{.这是为什么?Objective-C非常令人沮丧,因为它提供了许多方法来做同样的事情,但对于情况,需要采用不同的方式.

我尝试做[NSMutableString string]并添加{然后extracted它仍然无法正常工作.为什么这不起作用,我该怎么办?

Ham*_*son 6

stringByAppendingString 返回一个新字符串,它不会修改旧字符串.

那开头的所有功能stringWitharrayWith等创建新的对象,而不是修改旧对象.

为了实现您想要的,更简单的解决方案是:

 NSString *str = [NSString stringWithFormat:@"{%@", oldString];
Run Code Online (Sandbox Code Playgroud)

要么:

 NSMutableString *str = [@"{" mutableCopy];
 [str appendString:blah];
Run Code Online (Sandbox Code Playgroud)


Joe*_*Joe 5

您正在调用一个NSString返回新字符串的方法,并且不会修改调用它的字符串.你需要打电话appendString.

[str appendString:extracted];
Run Code Online (Sandbox Code Playgroud)