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.