【发布时间】:2011-01-14 16:55:42
【问题描述】:
我注意到所有 @"" 对象在执行时都会创建一个引用。
NSString *s1=@"";
NSString *s2=@"";
在此示例中,s1 等于 s2。
@"" 在所有情况下都会创建一个指针,每次我使用它时?
我可以依靠这个特性来比较objective-c中的字符串吗?
或者简单地说,如果我想确保我的字符串为空,我可以使用这个语句吗:
if(s == @""){
//do something
}
【问题讨论】:
-
不能保证两个空字符串实际上会指向内存中的相同位置。这是一个可以关闭的编译器优化。