| 

.NET C# Java Javascript Exception

0
Hallo,

ich hänge nun schon seit längerem an einem Problem und kann einfach keine Antwort finden.
Instruments zeigt mir einen Leak in der Zeile, in der ich "initWithContentsOfFile" aufrufe. Ich kann aber den Fehler nicht finden.

Hier, der Code den ich benutze:

NSString *fileName = [[NSString alloc] initWithFormat:@"%@.plist",plistName];
NSString *fullPath = [[NSString alloc] initWithFormat:@"%@/%@",dataPathLocal,fileName];

[fileName release];

NSArray *plistContent = [[NSArray alloc] initWithContentsOfFile:fullPath];

[fullPath release];

....

[plistContent release];


Hat jemand eine Idee dazu?

Vielen Dank und viele Grüße

Bernhard Harrer
News:
25.05.2011
appmaker 1 1
4 Antworten
0
Ich verwende die String-Formatierung niemals mit init. So legst du nur eine Instanz an...
NSString *string = [NSString stringWithFormat:@"Some Values %f", 0.123];


Ausserdem kannst du lokale Dateien in deiner App so aufrufen:
NSArray *array = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"plist"]];


Bin an meinem iPad, das heisst ich kann mich vertippt haben, dann musst du zum Notfall Methoden suchen die so heissen - Sie sollten aber nicht vom Aufbau meiner Abweichen...
25.05.2011
mavrick3 11 1
0
Hallo,

danke für die Antwort. Der String macht keine Probleme und das plist file liegt nicht im bundle, sondern im Documents Verzeichnis.

Viele Grüße

Bernhard Harrer
25.05.2011
appmaker 1 1
0
Hast Du zwischen [fullPath release] und [plistContent release] ein bedingtes return? Ist das Memory-Leak noch da, wenn Du alles löschst, was Du in Deinem Beispiel entfernt hast?

Viele Grüße,
Timm.
25.05.2011
theorist 494 6
0
Hallo,

danke für die Antwort, das Problem liegt tatsächlich in dem nicht genannten Code. Wobei der Leak aus diversen Fehlern resultierte.
Hab mich hier zu sehr auf die eine Codezeile konzentriert.

Vielen Dank für die Hilfe.

Bernhard Harrer
25.05.2011
appmaker 1 1

Stelle deine Ios-Frage jetzt!