如何检查NSDictionary键值是否为空?

时间:2014-11-20 07:03:35

标签: ios iphone xml json asihttprequest

我如何检查NSDictionary键值是否为空?

我正在使用ASIHttpRequest

NSDictionary *tempDict=[[[request responseString] JSONValue] valueForKey:@"data"];

如果键值为" 0键/值对"请给我一个答案。

谢谢。

3 个答案:

答案 0 :(得分:1)

您应该在访问之前检查NSDictionary键值。如果条件包含任何非null值,则使用相同的键放置条件,否则请采取预防措施。

if([[[request responseString] JSONValue] valueForKey:@"data"]])
   {
     NSDictionary *tempDict=[[[request responseString] JSONValue]valueForKey:@"data"];
   }
else
{
   // Show alert here 

}

答案 1 :(得分:0)

您可以检查NSDictionary中的密钥是否存在,如下所示:

NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"Ron",@"first_name",@"25",@"age", nil];

if([self dictionary:dict containsKey:@"age"])
{
    // Key exists
}
else
{
    // Key does not exists
}

使用此辅助功能:

-(BOOL)dictionary:(NSDictionary *)dictionary containsKey:(id)key
{
    if(dictionary != nil)
    {
        if([dictionary objectForKey:key])
        {
            return YES;
        }
    }

    return NO;
}

答案 2 :(得分:0)

您是否只想检查NSDictionary是否为空?然后你就可以这样检查一下。

if (tempDict==nil)
     {
    Nslog(@"Dictonary is null");
    }
    else
    {
    }