首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

NSString对象的初始化跟比较

2012-11-16 
NSString对象的初始化和比较NSSting的对象在使用@xx直接初始化赋值时,它会在内存stack segment中分配

NSString对象的初始化和比较

NSSting的对象在使用@"xx"直接初始化赋值时,它会在内存"stack segment"中分配一个空间,用于保存该变量。
相同赋值的对象,会采用相同的内存空间,表现为内存地址相同。

可以理解为NSString的isa的值是一样的。

??? NSString *str2=@"e中国2";
??? NSString *str3=@"e中国2";

?

??? // %p for pointers to show the memory address
??? NSLog(@"str2'addr is %p str3'addr is %p",str2,str3);



??? if (str2 == str3)
??? {
??????? NSLog(@"str2'pointer = str3's");
??? }

??? if ([str2 isEqualToString:str3])
??? {
??????? NSLog(@"str2'content = str3's");
??? }

NSString的比较方法,比较内容应该是isEqualToString:,比较指针的是==比较符号。通常情况下,你需要比较的都会是内容本身而不是其指针值。

热点排行