2011-01-13 4 views
1
NSString *anError = nil; 
id plist; 
plist = [NSPropertyListSerialization propertyListFromData:rawCourseArray mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&anError]; 
if (anError != nil){ 

    [anError release]; 
} 

Der obige Code verursacht ein Speicherverlust jedes Mal, wenn ich es anrufe. Ich gebe den Fehler frei, aber immer noch gibt es ein Leck. Ich habe keine Lösung für dieses Problem gesehen. Ich habe dies bereits gepostet und die meisten antworten, dass dies kein Leck ist. Aber sehen Sie hier in das Leck Performance-Tool:Nasty NSPropertyListSerialization Leak

alt text

Ich brauche das, weil schließlich App stürzt mein fixiert. Irgendwelche Ideen? Vielen Dank

+0

Ich brauche noch ein Update für dieses Leck. Gibt es eine andere Möglichkeit, wie ich NSPropertyListSerialization aufrufen kann? – BX69

Antwort

1

Ich hatte das gleiche Problem. Verwendete EigenschaftListWithData: Optionen: Format: Fehler: mit demselben Ergebnis. Gebrauchte NSDictionary initWithContentsOfFile mit demselben Ergebnis:

GELECKT Objekt # Adresse Grösse Verantwortlich Bibliothek Verantwortlich Rahmen NSCFNumber, 19 < mehrere> 304 Bytes MediaToolbox FigRemote_CreatePropertyListFromBinaryPListData

FWIW - ich nur Wörterbücher und Arrays und Zeichenfolgen in der pList haben, nein Zahlen.

Das Problem ist nicht das Fehlerobjekt (oder String in Ihrer Methode). Das Problem liegt nicht oben, da es eine Autorelease sein sollte. Am Ende gab ich auf und reimplementiert mit JSON und:

http://stig.github.com/json-framework/api/index.html

==> nicht mehr Leck.

Best, Fred

+0

JSON kann meine einzige Option sein. :^( – BX69

+0

Json arbeitete ohne Leck !!! – BX69

0

Ich hatte das gleiche Problem zuvor.

Im Grunde ist dies, weil Ihre error Variable freigegeben wurde, ohne es zu initiieren. Also, was Sie tun können, ist versuchen, Ihre NSString *error auf eine leere Zeichenfolge vor der Freigabe zu initiieren. Oder es gar nicht zu veröffentlichen.

+0

Versucht, was Sie vorgeschlagen haben, aber kein Glück. – BX69