检查 if(country == @"(null)" 不起作用
我遇到的问题是 if 语句不起作用。在第一个代码行之后,变量包含值“(null)”,因为从 iPhone 地址簿中选择联系人的用户没有为此联系人设置国家/地区键,到目前为止一切顺利。
但如果我检查变量,它不会是真的,但值肯定是“(null)”......有人有想法吗?
NSString *country = [NSString [the dict objectForKey:(NSString *)kABPersonAddressCountryKey]];
if(country == @"(null)")
{
country = @"";
}
提前致谢
肖恩
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正确的表达式是:
可以进一步缩短为:
如果您确实想使用
@"(null)"
字符串测试相等性,则应该使用isEqual:
方法或isEqualToString:
当您使用
==
运算符进行比较时,您正在比较对象地址,而不是其内容:The correct expression would be:
which can be further shortened to:
And if you really want to test equality with the
@"(null)"
string, you should use theisEqual:
method orisEqualToString:
When you compare using the
==
operator, you are comparing object addresses, not their contents:这是一个很好的答案,我不知道有这么多不同的方法来检查 nil 或 null 字符串。
That was a great answer I didn't know there was all those different ways of checking for nil or null string.