Ich verwende NSMutableDictionary
und drücke diesen Fehler:
Hier ist der Code:
%Vor% Alle Konsolenprotokolle zeigen an, dass die Daten in Ordnung sind. Hier beginnen die Dinge zu brechen.
Ich übergebe die Eigenschaft invoiceDict
an den nächsten View-Controller:
In CheckoutViewController.m:
%Vor% Der Fehler liegt bei [self.invoiceDict setObject...]
. Ich habe sichergestellt, dass alle Wörterbücher, die ich verwende, NSMutableDictionary
sind. Ich ließ einige der auskommentierten Zeilen im Code, um die Dinge zu zeigen, die ich ausprobiert habe, und ich traf eine Mauer. Ich denke, ich kann immer ein neues Wörterbuch erstellen. Ist das der bevorzugte Weg, es zu tun?
Sie ordnen ein Wörterbuch in invoiceDictFromReq zu, und als nächstes erstellen Sie ein anderes Wörterbuch. Sie erstellen dort ein Speicherleck. Löschen Sie die Zeile
%Vor%Aber Ihr Problem ist, dass Sie ein NSMutableDictionary erstellen, aber Sie setzen auf self.invoiceDiskutieren Sie ein Dictionary in Ihrem mutableDictionary, das nicht notwendigerweise auch ein mutableDictionary ist. Ändern Sie die Zeile
%Vor%für
%Vor% NSJSONSerialization
gibt standardmäßig unveränderbare Objekte zurück. So erhalten Sie ein veränderbares Wörterbuch aus dem Parser:
NSJSONReadingMutableContainers
oder
mutableCopy
für das Ergebnis Tags und Links objective-c ios cocoa-touch nsdictionary nsmutabledictionary