Pregunta

¿Podría el fuelle código de causa mi código a la fuga? Más específicamente, ¿soy responsable de la liberación de la newImage o el contenido de mainPageLayer (que es un objeto CALayer)? Recibo una advertencia de memoria cada vez que cuarto método se llama, pero no puede cifra por qué ...

También puede averiguar por qué no mainPageLayer.contents = [newImage CGImage]; lanza una advertencia de que el argumento es que estoy pasando un tiempo de puntero incompatible. La imagen muestra hasta bien dentro de la capa.

-(void)setPrimaryPage:(UIImage *)newImage {
 pImageSizeWidth = newImage.size.width;
 pImageSizeHeight = newImage.size.height;

 [mainPageLayer setFrame:CGRectMake(0, 0, pImageSizeWidth, pImageSizeHeight)];
 mainPageLayer.contents = [newImage CGImage];
}
¿Fue útil?

Solución

la propiedad contenidos se define como sigue:

@property(retain) id contents

que significa que el CGImageRef de newImage se conserva. Ya sea que sus fugas de código no se desprende de su código: No hay suficiente contexto. Sólo se escapará si newImage se retuvo al llamar a su setPrimaryPage:.

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