9
votes

iOS check si nsarray == null

Je reçois une réponse de JSON , et fonctionne bien, mais je dois vérifier certains null valeurs,

J'ai trouvé des réponses différentes mais j'ai trouvé différentes réponses mais Semble ne fonctionne pas toujours, xxx

J'ai essayé avec xxx

donc ce qui se passe donc? Comment résoudre ce problème et vérifier null dans mon tableau?

merci!


1 commentaires

Que voulez-vous dire "freins l'application"? S'il s'agit d'une exception, postez les messages du journal.


4 Réponses :


33
votes

Éliminez l'avertissement à l'aide d'une distribution: xxx

si productididlist est en fait [nsnull null] , puis faire productididlist.count augmentera une exception car nsnull ne comprend pas le message comptent .


2 commentaires

@MAKO ... et, implicitement, cela fonctionne parce que [nsnull null] renvoie toujours le même objet. == 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!



0
votes

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


2 commentaires

La classe NSDictionary ne peut pas stocker nil comme valeur, de sorte que les analyseurs JSON (et les analyseurs de liste de propriétés) utilisent [nsnull null] 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.



7
votes

Vous pouvez également vérifier la classe d'un objet à l'aide de la méthode iskindofclass: code>.

Par exemple, dans votre cas, vous pouvez le suivre: P>

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


2 commentaires

Il n'y a qu'une seule instance singleton de nsnull à l'aide de == 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é.



5
votes

Vous pouvez utiliser le sélecteur isequal : xxx


0 commentaires