黑马程序员技术交流社区

标题: NSString类的一个问题 [打印本页]

作者: 18704635324    时间: 2016-7-6 18:58
标题: NSString类的一个问题
NSString *str1 = @"abcde";
NSString *str2 = [NSString stringWithFormat:@"abcde"];
为什么用if判断上面的两个字符串是否相同的结果是不想等哇?
作者: SpaceX    时间: 2016-7-6 19:09

看了半天我也不会。。。
作者: 18704635324    时间: 2016-7-6 19:15
SpaceX 发表于 2016-7-6 19:09
看了半天我也不会。。。

是啊,完全不知道
作者: FFFF001    时间: 2016-7-6 21:18
字符串比较用 isEqualToString

屏幕快照 2016-07-06 下午9.15.57.png (59.79 KB, 下载次数: 44)

屏幕快照 2016-07-06 下午9.15.57.png

作者: 18704635324    时间: 2016-7-6 22:01
FFFF001 发表于 2016-7-6 21:18
字符串比较用 isEqualToString

原来是这样。。。。。。。
作者: 堕落天使    时间: 2016-7-7 08:59
你说的这两个字符串,内容相同,但是在内存中的地址不同,
用if判断的是地址,所以不同
作者: 18704635324    时间: 2016-7-7 13:10
堕落天使 发表于 2016-7-7 08:59
你说的这两个字符串,内容相同,但是在内存中的地址不同,
用if判断的是地址,所以不同 ...

就是不能用IF来判断吧。好像懂了。。。
作者: M.W    时间: 2016-7-8 18:23
18704635324 发表于 2016-7-7 13:10
就是不能用IF来判断吧。好像懂了。。。

不是不能用“if”来判断
“if”是用来进行条件控制,应该说是不能用“==”来判断

“==”判断的是字符串的内存地址

- (BOOL)isEqualToString:(NSString * _Nonnull)aString;  判断的是两个字符串是否相同
作者: 18704635324    时间: 2016-7-8 19:07
M.W 发表于 2016-7-8 18:23
不是不能用“if”来判断
“if”是用来进行条件控制,应该说是不能用“==”来判断

懂啦~~,谢谢啦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2