ios prüfen Sie, ob nsarray == null
Ich erhalte die Reaktion von JSON
, und ist in Ordnung, aber ich brauche, um zu überprüfen, für einige null
Werte,
Ich gefunden habe, unterschiedliche Antworten, aber das scheint nicht zu arbeiten, noch,
NSArray *productIdList = [packItemDictionary objectForKey:@"ProductIdList"];
Ich habe versucht mit
if ( !productIdList.count ) //which breaks the app,
if ( productIdList == [NSNull null] ) //warning: comparison of distinct pointer types (NSArray and NSNull)
Also, was ist passiert? Wie um dies zu beheben und zu überprüfen für null
in meinem array?
Dank!
Was meinst du damit "Bremsen Sie die app"? Wenn es eine Ausnahme auszulösen, poste die log-Nachrichten.
InformationsquelleAutor MaKo | 2012-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beseitigen Sie die Warnmeldung mit einem cast:
Wenn
productIdList
ist in der Tat[NSNull null]
, dann tutproductIdList.count
wird eine Ausnahme ausgelöst, weilNSNull
nicht verstehen, diecount
Nachricht.[NSNull null]
gibt immer das gleiche Objekt.==
vergleicht Identität, nicht Wert.Ich vermisste die Stimmen, um 'id' & fehlte diese Prüfung (ignoriert es aufgrund von compiler-Warnung) für lange Zeit! danke!
Perfekt..!! Dank
InformationsquelleAutor
Können Sie auch überprüfen, Klasse, ein Objekt mithilfe der Methode
isKindOfClass:
.Beispielsweise in Ihrem Fall könnten Sie wie folgt vor:
oder (wenn Sie sicher sind, dass
NSNull
ist, der angibt, Ungültiger Wert)NSNull
so mit==
zu überprüfen, denn es ist kürzer und effizienter.Aber die Prüfung Typ des zurückgegebenen Objekts ist mehr sicher.
InformationsquelleAutor
Können Sie die
isEqual
selector:InformationsquelleAutor
sollten Sie klar, was Sie wollen, zu überprüfen:
das array ist null, was bedeutet, dass die variable noch nicht vorhanden:
Oder das array auch null-element, das Sie kann :
NSDictionary
Klasse nicht speichern kannnil
als Wert, also JSON-Parser (und property-Liste Parser) verwenden[NSNull null]
stattdessen vertreten Sie einen null-Wert, da gibt es einen Unterschied zwischen einem Schlüssel anwesend ist, ist mit einem null-Wert, und ein Schlüssel ist nicht vorhanden.Du hast Recht. Ich wollte nicht sehen, es ist von JSON.
Die erste Zeile sagt alles.
InformationsquelleAutor