ios – Cocoa / Objective-C – 验证NSDictionary上是否存在密钥

这个问题在这里已经有一个答案:> How to check if an NSDictionary or NSMutableDictionary contains a key?13
如何验证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返回零

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...