Domanda

Ho la seguente funzione:

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

return [result autorelease];

}

Perché Clang mi sta dando le seguenti lamentele?

  • 1 chiamata alla funzione 'CFURLCreateStringByAddingPercentEscapes' restituisce un oggetto Core Foundation con un conteggio di mantenimento +1 (riferimento proprietario)
  • 2 oggetto inviato-messaggio di rilascio automatico
  • 3 Oggetto restituito al chiamante come riferimento proprietario (conteggio di conservazione singolo trasferito al chiamante)
  • 4 Oggetto rilasciato automaticamente: l'oggetto è stato inviato automaticamente, ma l'oggetto ha zero (visibili localmente) conteggi

Per quanto ne so, questo è conforme alle linee guida di Apple relative alla gestione della memoria e alla proprietà degli oggetti. Devo rilasciare esplicitamente l'oggetto? Questo errore è emerso 19 volte nel mio progetto, il tutto in circostanze simili. Cosa sto sbagliando?

È stato utile?

Soluzione

Ho trovato la risposta alla mia domanda, pubblicandola qui se qualcun altro si imbatte nel problema. Stavo usando checker-0.198, checker-0.204 non riporta questo problema. Sembra sia stata una regressione temporanea.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top