Weird-Speicherproblem
-
25-09-2019 - |
Frage
An einem gewissen Punkt, den ich zuteilen ein NSMutableData Element wie folgt:
NSMutableData* data=[[NSMutableData alloc] initWithLength:0];
Später ich:
NSString *dataAsStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] ;
completeCommand = [NSString stringWithFormat:@"%@%@",
incompleteMessage,
[dataAsStr substringWithRange:NSMakeRange(startIndex, i-startIndex)]];
[incompleteMessage release];
incompleteMessage = nil;
[dataAsStr release];
Und schließlich ich Aufruf:
[data release]; //Here I get a BAD_ACCESS error since data gets a release count of -1
Jetzt nach Instrumenten (Verrechnungen mit Zombie-Unterstützung), der ersten Zeile des zweiten Blockes NSString * dataAsString = ... Anrufe [Datenfreigabe]
Wo kommt das?
Lösung
Das Geheimnis gelöst wird .. Es ist eine ziemlich große Methode, so dass ich nicht erkennen, dass [Datenfreigabe]; war in einer Schleife und dessen malloc nicht war. Das war wodurch der Zombie.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow