我有一个NSString,我想在它的开头附加一个{。
NSMutableString *str = [[NSMutableString alloc] initWithString:@"{"];
[str stringByAppendingString:extracted];这将返回仅包含{的str。为什么会这样呢?Objective-C非常令人沮丧,因为它提供了许多方法来做同样的事情,但对于需要不同方法的情况。
我尝试执行[NSMutableString string]并附加{,然后添加extracted,但仍然不起作用。为什么这不起作用,我应该怎么做?
发布于 2012-06-14 02:10:50
stringByAppendingString返回一个新字符串,它不修改旧字符串。
所有以stringWith或arrayWith等开头的函数都会创建新对象,而不是修改旧对象。
要获得你想要的东西,一个更简单的解决方案是:
NSString *str = [NSString stringWithFormat:@"{%@", oldString];或者:
NSMutableString *str = [@"{" mutableCopy];
[str appendString:blah];发布于 2012-06-14 02:10:35
您正在调用一个NSString方法,该方法返回一个新字符串,并且不修改调用该方法的字符串。你需要给appendString打电话。
[str appendString:extracted];发布于 2012-06-14 04:34:32
// use it like this
NSString *extracted = @"this is my string";
NSString *str = [[NSString alloc] initWithString:@"{"];
str = [str stringByAppendingString:extracted];希望这能对你有所帮助
https://stackoverflow.com/questions/11020770
复制相似问题