NSLog(@"%@",variable);
temp = @"(null)";
if([variable isEqualToString:temp])
这是我使用的代码,并作为输出我得到为什么这些字符串不相等?
[4298:207](空)
过程中由于某种原因,但他们是不相等的。理解这一点超出了我的想象。 这两个变量都是NSString类型的。
NSLog(@"%@",variable);
temp = @"(null)";
if([variable isEqualToString:temp])
这是我使用的代码,并作为输出我得到为什么这些字符串不相等?
[4298:207](空)
过程中由于某种原因,但他们是不相等的。理解这一点超出了我的想象。 这两个变量都是NSString类型的。
(null)
只是%@
格式说明符在输出值为nil
时的输出。 variable
中有什么是nil
,不是字面意义的字符串(null)
你不明白的原因是因为你混合了两件不一样的东西。然而,当我们使用书面语言并描述这两件事时,它们在纸上/屏幕上看起来是一样的......至少对你来说。
首先您必须了解说明/ 标签和之间的区别。
如果我写NULL ...你看到的是一个描述。它描述/表示/意味着什么? NULL意味着什么。然而,当你编写代码时,你不会写变量=无。你写变量= NULL。 标签 - 这意味着 NULL - 没有
当你写TEMP = @“空“..你状态的临时变量字符串从4个字符的值,它是这四个-null 标签 - 这意味着 @ “null” - 包含4个字符的字符串(空)
然后您比较的含义/值。,不是descritions。显然,没有不等于4个字符的字符串。
谢谢。已经解决了我的问题。我会尽快接受答案。 – Pillblast 2011-12-14 14:15:27