1

我可以轻松地创建一个常规NSString

NSString *string = @"string value";    // Case 1

有可能做这样的事情吗?

NSMutableString *mutableString = @"mutableString value";    // Case 2
4

3 回答 3

6

您可以按照其他一些答案中提到的那样初始化字符串,但是对于这样的常量字符串,我更喜欢发送-mutableCopy消息:

NSString* string = @"string value";
NSMutableString* mutableString = [@"mutableString value" mutableCopy];

我觉得它很容易阅读,但这是风格偏好的问题。

于 2012-08-20T21:29:10.153 回答
3

有点:

NSMutableString *mutableString = [NSMutableString stringWithString:@"mutableString value"];
于 2012-08-20T21:25:45.177 回答
0

案例 2 有效,但不创建可变字符串;它只是把NSString一个NSMutableString指针。该对象仍然是一个常量文字字符串,发送类似appendString:的内容会导致运行时错误。

您需要分配一个新的NSMutableStringviastringWithString:alloc后跟initWithString:. 如果您愿意,也可以创建一个空字符串,然后使用setString:

于 2012-08-20T21:26:52.183 回答