ios检查是否nsarray == null

我收到来自JSON一些响应,工作正常,但我需要检查一些null值,

我find了不同的答案,但似乎不工作,

 NSArray *productIdList = [packItemDictionary objectForKey:@"ProductIdList"]; 

我曾尝试过

 if ( !productIdList.count ) //which breaks the app, if ( productIdList == [NSNull null] ) // warning: comparison of distinct pointer types (NSArray and NSNull) 

那么发生了什么? 如何解决这个问题,并检查我的数组中的null

谢谢!

使用演员消除警告:

 if (productIdList == (id)[NSNull null]) 

如果productIdList实际上是[NSNull null] ,则执行productIdList.count将引发exception,因为NSNull不理解count消息。

您还可以使用方法isKindOfClass:检查对象的类。

例如,在你的情况下,你可以做以下事情:

 if ([productIdList isKindOfClass:[NSArray class]]) { // value is valid } 

或者(如果您确定NSNull指示无效值)

 if([productIdList isKindOfClass:[NSNull class]]) { // value is invalid } 

您可以使用isEqualselect器:

 if ( [productIdList isEqual:[NSNull null]] ) 

你应该清楚你想要检查的是:数组是null,这意味着variables不存在:

 array == nil 

或者数组有零元素,你可以:

 [array count] == 0