这个问题在这里已经有一个答案:>
How to check if an NSDictionary or NSMutableDictionary contains a key?13
如何验证NSDictionary中是否存在密钥?
如何验证NSDictionary中是否存在密钥?
我知道如何验证它是否具有某些内容,但是如果它在那里,我想要很好,因为它是动态的,我必须防止它.像在某些情况下,可能会发生一个带有“name”的键并且是值,但在另一种情况下,可能会发生这对值不存在.
解决方法
最简单的方法是:
[dictionary objectForKey:@"key"] != nil
因为字典对于不存在的键返回nil(并且因此您不能在字典中存储一个零,因为您使用NSNull).
编辑:回答评论布拉德利的答案
你进一步问:
Is there a way to verify if this: [[[contactDetailsDictionary objectForKey:@”professional”] objectForKey:@”CurrentJob”] objectForKey:@”Role”] exists? Not a single key,because is a really giant dictionary,so it could exist in another category.
在Objective-C中,您可以发送一条消息给nil,它不是一个错误,返回nil,所以扩展上面的简单方法只需要写:
[[[contactDetailsDictionary objectForKey:@"professional"] objectForKey:@"CurrentJob"] objectForKey:@"Role"] != nil
好像键序列的任何部分不存在,LHS返回零