Ersetzen Sie alle NSNull Objekte in einem NSDictionary
Bin ich mal gespannt, ich habe zurzeit einen NSDictionary
wo einige Werte sind auf eine NSNull
Objekt Dank der Hilfe von json-framework.
Ziel ist es, zu entfernen NSNull
Werte und ersetzen Sie es mit einem leeren string.
Ich bin sicher, jemand hat dies getan, irgendwo? Kein Zweifel, es ist wahrscheinlich ein vier-liner und ist einfach, ich bin viel zu ausgebrannt, um dies herauszufinden, auf meine eigene.
Dank!
Siehe meine Antwort hier: stackoverflow.com/questions/21922026/...
Ich machte eine Kategorie, die macht das. Sie finden es hier github.com/bismasaeed00/NullReplacer
Ich machte eine Kategorie, die macht das. Sie finden es hier github.com/bismasaeed00/NullReplacer
InformationsquelleAutor Sebastien Peek | 2011-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wirklich einfach:
Verwendung:
NSNull
ist ein singleton ist, können Sie testen, Wert-Zeiger direkt:if([self objectForKey:key]==[NSNull null])
.Diese Antwort war für mich sehr gut. Danke.
ja.. Aber was ist, wenn das Wörterbuch enthält NSArray von NULL? Oder andere NSDictionary mit NULL-Werten? Sorgfältig zu verwenden! Ich empfehle die Verwendung Stakenborg Modifikationen dieser Methode, die weiter unten beschrieben!
Verwenden Stakenborg Methode unten!
Wo tun wir kopieren Sie und fügen Sie diese zu? Das gibt mir Fehler, wenn ich versuche es und fügen Sie die Datei ich will Sie unten, sorry im neuen iOS
InformationsquelleAutor Jacob Relkin
Habe ich ein paar änderungen vorgenommen, um Jacob die original-Antwort zu erweitern für den Umgang mit dictionaries und arrays gespeichert, die innerhalb der ursprünglichen Wörterbuch.
Und es gibt auch ein array mit der Kategorie natürlich:
Mit dieser, können Sie jedem array oder ein dictionary und rekursiv löschen aller [NSNull null] Instanzen.
Hoffe, es hilft jemand.
-Brandon
P. S. Zur Vervollständigung Willen, hier sind die header-Dateien:
Dem array-header:
Wow!!! Danke!!! Das ist genau das, was ich beabsichtige zu tun, nach dem Lesen der akzeptierten Antworten!
Dies sollte die richtige Antwort.
Danke, das ist Super.
Ich machte eine Kategorie, die macht das. Sie finden es hier github.com/bismasaeed00/NullReplacer
InformationsquelleAutor Stakenborg
Rollen durch das Wörterbuch der Jagd nach NSNull ist eine Möglichkeit, um das problem anzugehen, aber ich habe ein etwas fauler Ansatz. Statt null-könnten Sie weisen eine leere Zeichenfolge ist, aber das Prinzip ist das gleiche.
CPJSONDictionary.h
CPJSONDictionary.m
InformationsquelleAutor Cameron Lowell Palmer
andere Variante:
Das Ergebnis ist das gleiche, und es erscheint ziemlich identisch zu Jakob, aber die Geschwindigkeit und der Speicherbedarf werden die Hälfte bis ein Drittel (ARC oder MRC) in den tests die ich gemacht habe. Natürlich könnte man es auch verwenden, als eine Kategorie, die Methode als gut.
InformationsquelleAutor justin
Habe ich getestet Stakenborg Lösung. Es funktioniert gut, aber es hat Folgendes problem. Wenn ein Objekt erwartet wird, werden Anzahl, zum Beispiel, konvertieren Sie es zu
NSNull
können eine Quelle für Fehler.Ich erstellen eine neue Methode, um direkt entfernen Sie die
NSNull
Einträge. Auf diese Weise müssen Sie nur überprüfen, dass correspondant Schlüssel vorhanden ist.Fügen Sie in
NSDictionary+NullReplacement
Und in
NSArray+NullReplacement
Ich hoffe, das hilft
InformationsquelleAutor Eva Madrazo
Hier ist meine Lösung:
InformationsquelleAutor user1122949
InformationsquelleAutor khanh.tran.vinh
Einer Kategorie auf nsnull zurückgibt, die null scheint auch Sinn, zumindest für mich. Es gibt ein paar da draußen. Man macht alle Aufrufe return nil, die scheint Sinn zu machen. Sorry, kein link. Ich denke, wenn Sie es brauchen, um Sie später zu verwenden nspropertylistserialization die Kategorie vielleicht nicht für Sie arbeiten.
InformationsquelleAutor Tom Andersen