ios compruebe si nsarray == null

Estoy recibiendo alguna respuesta de JSON , y está funcionando bien, pero necesito verificar algunos valores null ,

He encontrado diferentes respuestas, pero parece que no funciona,

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

He intentado con

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

Entonces, ¿qué está sucediendo? ¿Cómo solucionar esto y comprobar si hay null en mi matriz?

¡Gracias!

Elimine la advertencia con un yeso:

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

Si productIdList es de hecho [NSNull null] , entonces hacer productIdList.count generará una exception porque NSNull no entiende el post de count .

También puede verificar la class de un object utilizando el método isKindOfClass:

Por ejemplo, en su caso, puede hacer lo siguiente:

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

o (si está seguro de que NSNull indica un valor no válido)

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

Puede usar el selector isEqual :

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

debe tener claro lo que quiere verificar: la matriz es nula, lo que significa que la variable no existe:

 array == nil 

O la matriz tiene cero elemento que puede:

 [array count] == 0