Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-C声明NSMutableString_Objective C - Fatal编程技术网

Objective-C声明NSMutableString

Objective-C声明NSMutableString,objective-c,Objective C,我想知道为什么我们可以这样声明NSString: NSString *strongName = @"Kuba"; 但我们不能以相同的方式声明NSMutableString: NSMutableString *strongName2 = @"Kuba"; 相反,我必须使用旧的(?)方法: NSMutableString *strongName3 = [NSMutableString stringWithFormat:@&quo

我想知道为什么我们可以这样声明NSString:

NSString *strongName            = @"Kuba";
但我们不能以相同的方式声明NSMutableString:

NSMutableString *strongName2    = @"Kuba";
相反,我必须使用旧的(?)方法:

NSMutableString *strongName3 = [NSMutableString stringWithFormat:@"Kuba"];

感谢您提供的有意义的见解:)

NSString*myString=@“Kuba”
仅是
NSString
的缩写。如果您需要一个
NSMutableString
,您可以从中获得一个可变副本:
NSMutableString*myMutableString=[@“Kuba”mutableCopy]

,因为
@“Kuba”
生成一个
NSString
,所以它是不可变的。就是这样做的。旁注,您不使用格式,因此最好使用
stringWithString:
。另外,请在lldb中查看
po[strongName class]
vs
po[strongName3 class]