如何在NSDictionary的值字段中检查0个对象

时间:2014-05-30 19:29:29

标签: ios objective-c

我有一个NSDictionary(MyDictionary),它当前正在返回“0个对象”    [mylist]键:值对。

MyDictionary:
{
    mylist =     (
    );
}

如何检查密钥的值是否包含0个对象? 我尝试了以下但没有成功:

if([MyDictionary objectForKey:@"mylist"] !=[NSNull null]){} //evaluates to false

if([MyDictionary valueForKey:@"mylist"] !=[NSNull null]){} //evaluates to false

3 个答案:

答案 0 :(得分:1)

NSNull与nil不同。

NSArray *myList = MyDictionary[@"mylist"];
if (myList.count == 0) {
    //empty or nil!
}

答案 1 :(得分:1)

您的词典有一个键值对,其值为空NSArray。请注意,空NSArray NSNull对象相同,甚至也不是nil指针。实际上,它是一个指向NSArray对象的有效指针,恰好其中没有任何内容。

要确定数组中没有元素,必须首先从字典中提取数组,然后检查数组的count以确定它是否包含任何元素。这可以在一行代码中完成,如

if ( [MyDictionary[@"mylist"] count] == 0 )
    // array is empty

答案 2 :(得分:0)

该值是一个数组。要检查NSArray是否为空,可以检查其长度是否为0。