tengo el siguiente en la cabecera:¿Cómo se implementa el método retener con @synthesize?
@property (nonatomic, retain) UIView *overlay;
Y en la implementación:
@synthesize overlay;
continuación:
UIView *tempOverlay = [[UIView alloc] initWithFrame:CGRectMake(160.0f, 70.0f, 150.0f, 310.0f)];
self.overlay = tempOverlay;
[tempOverlay release];
no es la variable tempOverlay
anterior innecesario? ¿No puedo hacer:
self.overlay = [[UIView alloc] initWithFrame:CGRectMake(160.0f, 70.0f, 150.0f, 310.0f)];
Si un setter retenido sintetizado parece que lo tienes, ¿qué ocurre la primera vez que se establece el valor? Si intenta liberar primero el valor anterior, ¿no se bloqueará con BAD ACCESS? O bien, ¿todas las propiedades reciben automáticamente un recuento de retención inicial de 1? – ma11hew28
¿Debe usarse alguna vez el método 2, quizás la primera vez que se configura? Pero, si lo está configurando después de que ya se haya configurado, entonces el valor anterior no se liberará (a menos que se haga explícitamente). Entonces, eso causaría una pérdida de memoria, ¿correcto? – ma11hew28
Inicialmente, el valor es nulo, y el envío de cualquier mensaje a nulo (incluido retener/liberar) no es posible devolver nada. – jv42