我有一个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
答案 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。