我可以轻松创建常规NSString
:
NSString *string = @"string value"; // Case 1
是否可以做这样的事情?
NSMutableString *mutableString = @"mutableString value"; // Case 2
答案 0 :(得分:6)
你可以像其他一些答案中提到的那样初始化字符串,但对于像这样的常量字符串,我更喜欢发送-mutableCopy
消息:
NSString* string = @"string value";
NSMutableString* mutableString = [@"mutableString value" mutableCopy];
感觉很容易给我看,但这是风格偏好的问题。
答案 1 :(得分:3)
排序:
NSMutableString *mutableString = [NSMutableString stringWithString:@"mutableString value"];
答案 2 :(得分:0)
案例2有效,但不会创建可变字符串;它只是将NSString
放入NSMutableString
指针。该对象仍然是一个常量文字字符串,并向其发送appendString:
之类的内容将导致运行时错误。
您需要通过NSMutableString
或stringWithString:
后跟alloc
分配新的initWithString:
。您也可以创建一个空字符串,然后根据需要使用setString:
。