【问题标题】:How to check if NSDictionary has key-value pair? [closed]如何检查 NSDictionary 是否有键值对? [关闭]
【发布时间】:2026-01-28 18:50:02
【问题描述】:

我已经看到答案已经发布了,他们都在谈论...... 在NSDictionary 上使用objectForKey 方法,如果我们不知道密钥,这是不正确的。

【问题讨论】:

  • 如果您不知道要查找的键,如何检查特定键值对?你怎么知道你是否找到了它?
  • 您需要更详细地解释您的问题。
  • 如果你想知道,如果有你不知道的密钥,你可以简单地使用@voodoo作为密钥。
  • 如果你分配了NSDictinaory,然后尝试查找它是否添加了一些对象,在这种情况下如何使用“objectForKey”?
  • @VinodSupnekar 查看我的答案。

标签: ios objective-c


【解决方案1】:

您可以使用count 属性来测试NSDictionary 是否有任何条目。

if (aDic.count == 0) {
    // aDic is empty.
} else {
    // aDic has some entries.
}

并且,您可以使用objectForKey: 方法来测试特定条目是否存在。

例如,我想知道字典中是否存在名为“foo”的键:

if ([aDic objectForKey:@"foo"] != nil) {
    // aDic has a entry named "foo"
} else {
    // "foo" doesn't exsits
}

另外,你可以简化这个:

if (aDic[@"foo"]) {
    // aDic has a entry named "foo"
} else {
    // "foo" doesn't exsits
}

【讨论】:

  • 是啊...我想了一会儿关于 ..if (aDic.count == 0) {}..它成功了...谢谢。
  • @VinodSupnekar 我解释清楚了吗?如果是这样,请接受我的回答,这对我很重要,谢谢。
  • @VinodSupnekar 很高兴为您提供帮助。我添加了一些 cmets 以帮助您更好地理解它。
【解决方案2】:
if ([yourDictionary isKindOfClass:[NSDictionary class]])
{
    NSLog(@"%@",yourDictionary)
}

【讨论】:

  • 添加一些关于它是如何工作的解释,否则它几乎没有价值
  • 检查NSDictionary 是否属于NSDictionary 类如何解决任何问题。