Obj-C:[NSString stringWithString:@“string”]与@“string”
我见过人们做类似 [NSString stringWithString:@"some string"]
的事情。为什么不直接做 @"some string"
呢?
例如,请查看 facebook-ios-sdk
。
+[NSString stringWithString:] -- 有什么意义? 是一个类似的问题,但是没有一个答案能够解决 [NSString stringWithString:@"some string"]
与 @"some string"
的问题。
I've seen people do something like [NSString stringWithString:@"some string"]
. Why not just do @"some string"
?
For an example, look at the facebook-ios-sdk
.
+[NSString stringWithString:] -- what's the point? is a similar question, but none of the answers address [NSString stringWithString:@"some string"]
vs. @"some string"
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
其实没有什么区别。
[NSString stringWithString: str]
不执行任何操作,如果str
已经不可变,则返回str
。Actually there is no difference.
[NSString stringWithString: str]
just does nothing and returnsstr
ifstr
is immutable already.除了需要额外的击键之外,没有任何区别。事实上,使用常量字符串作为参数(或不可变字符串),您只是获得另一个指向该参数的指针。
该方法的主要用途是在子类中:
将为您提供原始的可变自动释放副本。
There's no difference other than the extra key strokes needed. In fact, with a constant string as a parameter (or an immutable string) you just get another pointer to the parameter.
The main use of the method is in subclasses:
will give you a mutable autoreleased copy of the original.
关于
stringWithString:
需要注意的一件事是,如果源字符串为 nil,它将抛出异常。One thing to note about
stringWithString:
is that it will throw an exception if the source string is nil.