Frage

Ich habe die folgende Funktion:

- (NSString *)urlEncodedValue {
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(
                   kCFAllocatorDefault, 
                   (CFStringRef)self, 
                   NULL, 
                   CFSTR("?=&+/\r\n"), 
                   kCFStringEncodingUTF8
);

return [result autorelease];

}

Warum erhalte Clang mir folgende Beschwerden?

  • 1 Rufen 'CFURLCreateStringByAddingPercentEscapes' kehrt ein Core Foundation Objekt funktionieren mit einem +1 behalten count (Besitz Referenz)
  • 2 Objekt gesendet -autorelease Nachricht
  • 3 Objekt zurück als besitzende Referenz (Einzelbeibehaltungszähler auf Anrufer übertragen) an Anrufer
  • 4 Objekt überAutoReleased: Objekt wurde -autorelease gesendet, aber das Objekt Null (lokal sichtbar) behalten zählt

Nach bestem Wissen und Gewissen, entspricht dies Apples Richtlinien in Bezug auf die Speicherverwaltung und Objektbesitz. Muss ich auf das Objekt explizit freigeben? Dieser Fehler hat kommt 19 Mal in meinem Projekt, die alle unter ähnlichen Umständen. Was mache ich falsch?

War es hilfreich?

Lösung

Ich habe die Antwort auf meine eigene Frage gefunden, es hier, wenn jemand stolpert über das Thema veröffentlichen. Ich war mit Riffel 0.198, checker-0.204 Berichte keine solche Frage. Scheint es sich um eine vorübergehende Regression war.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top