Je reçois une réponse de J'ai trouvé des réponses différentes mais j'ai trouvé différentes réponses mais Semble ne fonctionne pas toujours, P> J'ai essayé avec p> donc ce qui se passe donc? Comment résoudre ce problème et vérifier merci! P> p> JSON code>, et fonctionne bien, mais je dois vérifier certains null code> valeurs, null code> dans mon tableau? P>
4 Réponses :
Éliminez l'avertissement à l'aide d'une distribution: si productididlist code> est en fait [nsnull null] code>, puis faire productididlist.count code> augmentera une exception car nsnull code> ne comprend pas le message comptent code>. p> p> p>
@MAKO ... et, implicitement, cela fonctionne parce que [nsnull null] code> renvoie toujours le même objet. == code> compare l'identité, pas la valeur.
J'ai manqué la distribution à 'id' et manquait ce chèque (l'ignora en raison de l'avertissement du compilateur) pendant longtemps! Merci!
Vous devriez être clair ce que vous voulez vérifier: Le tableau est NULL, ce qui signifie que la variable n'existe pas:
[array count] == 0
La classe NSDictionary code> ne peut pas stocker nil code> comme valeur, de sorte que les analyseurs JSON (et les analyseurs de liste de propriétés) utilisent [nsnull null] code> au lieu de représenter un null Valeur, car il existe une différence entre une clé étant présente avec une valeur null et une clé absente.
La première ligne dit tout.
Vous pouvez également vérifier la classe d'un objet à l'aide de la méthode Par exemple, dans votre cas, vous pouvez le suivre: P> iskindofclass: code>. if([productIdList isKindOfClass:[NSNull class]])
{
// value is invalid
}
Il n'y a qu'une seule instance singleton de nsnull code> à l'aide de == code> pour vérifier qu'il est plus court et plus efficace.
Mais la vérification du type d'objet retourné est plus en toute sécurité.
Vous pouvez utiliser le sélecteur isequal code>:
Que voulez-vous dire "freins l'application"? S'il s'agit d'une exception, postez les messages du journal.