¿Cómo puedo almacenar/recuperar un CGFloat
como una propiedad de una subclase UIImageView
? Puedo establecer su valor, pero cuando lo recupero, está dañado. NSString
propiedades funcionan bien.CGFloat como propiedad
.h
@property CGFloat myFloat;
.m
[sender setMyFloat:someFloat];
[sender myFloat]; //<- corrupt?
** * ** * ** * ACTUALIZACIÓN * ** * ** * ****
quería darle las gracias por todas sus sugerencias, que eran los correctos. Mi problema era más complejo de lo que pensaba. El remitente es un UIPanGestureRecognizer adjunto al UIImageview con el que estaba teniendo problemas. El UIPanGestureRecognizer llama al selector mover: (id) remitente y aquí es donde está mi problema.
Dentro de movimiento: yo podría realizar con éxito:
[[sender view] setMyString:@"test"];
y recuperar de nuevo con
[[sender view] myString];
no podía sin embargo establecer o recuperar cualquier propiedad float en absoluto sin incluir auto (id). Por ejemplo:
[[sender view] setMyString:@"test"]; //->works
[[sender view] setMyFloat:1.0f]; //->does not work
Pero esto funciona:
[[[sender view]self] setMyFloat:1.0f]; //->works
Esta es la parte extraña que me llevó a creer que estaba teniendo un problema con mi colada flotante! Tengo varias propiedades de NSString y vuelven bien pero CGFloats no. ¿Podría alguien explicarme por qué de alguna manera alcanzo el éxito con cuerdas pero el carro se pierde aquí?
¿Cómo se manifiesta la corrupción? – Eimantas
Estoy estableciendo un valor entre -.5 y .5, o se devuelve como 0.0 o -2.000001 – user973984
Debe proporcionar el contexto para esas dos líneas de código, o todo lo que podemos hacer es tomar conjeturas, que no es particularmente constructivo Aquí hay una conjetura: ¿estás obteniendo el _same_ 'UIImageView' de ambos punteros' sender'? –