NSLog(@"%@",variable);
temp = @"(null)";
if([variable isEqualToString:temp])
这是我使用的代码和输出
[4298:207](null)
但当然由于某些原因他们并不平等。我不能理解这一点。 两个变量都是NSString类型。
答案 0 :(得分:9)
(null)
只是%@
格式说明符在值nil
时给出的输出。 variable
中的内容是nil
,而不是文字字符串(null)
答案 1 :(得分:0)
你不理解的原因是因为你混合了两件不相同的东西。然而,当我们使用书面语言并描述这两件事时,它们在纸上/屏幕上看起来是相同的......至少对你而言。
首先,您必须了解说明/ 标签和含义之间的区别。
如果我写NULL ...你看到的是一个描述。它描述/代表/意味着什么? NULL意味着什么。然而,当你编写代码时,你不会写变量=什么都没有。你写变量= NULL。 标签 - 意思 空 - 没什么
当你写temp = @“null”时..你说临时变量的值是4个字符的字符串,这是四个-n u l l 标签 - 意思 @“null” - 一个包含4个字符的字符串(n u l l)
然后你比较含义/值。,而不是descritions。显然..没有什么不等于有4个字符的字符串。