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"]