我可以轻松地创建一个常规NSString
:
NSString *string = @"string value"; // Case 1
有可能做这样的事情吗?
NSMutableString *mutableString = @"mutableString value"; // Case 2
我可以轻松地创建一个常规NSString
:
NSString *string = @"string value"; // Case 1
有可能做这样的事情吗?
NSMutableString *mutableString = @"mutableString value"; // Case 2
您可以按照其他一些答案中提到的那样初始化字符串,但是对于这样的常量字符串,我更喜欢发送-mutableCopy
消息:
NSString* string = @"string value";
NSMutableString* mutableString = [@"mutableString value" mutableCopy];
我觉得它很容易阅读,但这是风格偏好的问题。
有点:
NSMutableString *mutableString = [NSMutableString stringWithString:@"mutableString value"];
案例 2 有效,但不创建可变字符串;它只是把NSString
一个NSMutableString
指针。该对象仍然是一个常量文字字符串,发送类似appendString:
的内容会导致运行时错误。
您需要分配一个新的NSMutableString
viastringWithString:
或alloc
后跟initWithString:
. 如果您愿意,也可以创建一个空字符串,然后使用setString:
。