Ich habe ein NSMutableDictionary namens "output" und ich bin ein NSString hinzufügen, die eine ganze Zahl ist. Was ist der richtige Weg, dies zu tun? Ich kann es nicht herausfinden. Alles, was ich versucht habe, endet mit Speicherlecks.Speicherverwaltung - Objective C NSString
Dies ist, was ich derzeit haben:
val ist ein int
country ein NSString ist
Hier ist, wie ich "output" erklären:
NSMutableDictionary *output = [[[NSMutableDictionary alloc] init] autorelease];
Hier ist die Code, der ein Speicherleck verursacht:
NSString *temp = [NSString stringWithFormat:@"%d",val];
[output setValue:temp forKey:countryName];
folgende Ursachen auch ein Leck:
NSString *temp = [[NSString alloc] initWithFormat:@"%i",val];
[output setValue:temp forKey:source];
[temp release];
Was Sie geschrieben hat, sieht gut aus. Warum denken Sie, dass Sie Speicherlecks haben und welche Objekte glauben Sie, dass Sie leckt? – Jonah
Nur aus Neugier, warum benutzen Sie% d anstelle von% i? –
Ich lief die Anwendung in Instruments und es zeigte, dass ich ein 100% Speicherleck in dieser Zeile hatte. – CodeGuy