Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.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中的NSString重复_Objective C_C_Nsstring - Fatal编程技术网

Objective-C中的NSString重复

Objective-C中的NSString重复,objective-c,c,nsstring,Objective C,C,Nsstring,会使用 NSString* Test=[NSString stringWithString:@"Words"]; 有什么优势吗 NSString* Test=@"Words"; 还是只是多余的?它是多余的NSString对象是不可变的(不能更改),因此与直接使用文本相比,我看不到任何优势 但是,如果您执行了以下操作: NSMutableString *test = [NSMutableString stringWithString:@"Words"]; 那就不同了。如果您试图实例化这样的字

会使用

NSString* Test=[NSString stringWithString:@"Words"];
有什么优势吗

NSString* Test=@"Words";

还是只是多余的?

它是多余的
NSString
对象是不可变的(不能更改),因此与直接使用文本相比,我看不到任何优势

但是,如果您执行了以下操作:

NSMutableString *test = [NSMutableString stringWithString:@"Words"];

那就不同了。

如果您试图实例化这样的字符串,任何现代ObjC编译器都会警告您

将“stringWithString:”与文本一起使用是多余的

使用
@“文字”
除非您确实需要对输入进行“操作”,否则

NSString * w = [NSString stringWithUTF8String:"Words"];


不可以。NSString是不可变的,所以复制没有任何用途(除了浪费时间/空间)。同样,如果假定
someString
是一个(不可变的)NSString,那么一直流行的
[NSString stringWithFormat:@“%@”,someString]
也是浪费时间。我今天早些时候看到的一个,
[nsstringwithformat:someString]
,是非常危险的,因为
someString
可能包含
%
字符。当然,对于你的“不同故事”
[@“Words”mutableCopy]
更简洁,意图更清晰。@HotLicks,但离OP自己的示例代码更远。。。
NSString * join = [NSString stringWithFormat:@"con%@enate", @"cat"]