Pregunta

Tengo la siguiente función:

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

return [result autorelease];

}

¿Por qué Clang me da las siguientes quejas?

  • 1 llamada a la función 'CFURLCreateStringByAddingPercentEscapes' devuelve un objeto de Core Foundation con un recuento de retención +1 (referencia de propiedad)
  • 2 objetos enviados - mensaje de liberación
  • 3 Objeto devuelto a la persona que llama como referencia propietaria (recuento de retención único transferido a la persona que llama)
  • 4 Objeto lanzado en exceso de forma automática: el objeto se envió -autorelease pero el objeto tiene cero (localmente visible) retener conteos

Que yo sepa, esto se ajusta a las pautas de Apple con respecto a la administración de memoria y la propiedad de objetos. ¿Tengo que liberar explícitamente el objeto? Este error ha aparecido 19 veces en mi proyecto, todo en circunstancias similares. ¿Qué estoy haciendo mal?

¿Fue útil?

Solución

He encontrado la respuesta a mi propia pregunta, publicando aquí si alguien más se encuentra con el problema. Estaba usando checker-0.198, checker-0.204 informa que no hay tal problema. Parece que fue una regresión temporal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top