我今天在面试中被问到了这个问题,经过一番搜索后,我仍然无法找到答案(事实上,我甚至找不到任何使用[NSString string]方法的代码)。
下面是两种方式的区别:
NSString *someString = [NSString string];
NSString *someString = [[NSString alloc] init];
起初我认为[NSString string]
会返回一个自动释放的对象,而使用alloc和init则会返回一个保留的对象。然而,这个答案似乎是错误的。
我查看了苹果文档中的NSString类参考,但它只是说:
Returns an empty string.
+ (id)string
Return Value
An empty string.
有人可以向我解释一下这两者之间的确切区别吗?它们是什么意思?