Come è possibile memorizzare/recuperare uno CGFloat
come proprietà di una sottoclasse UIImageView
? Posso impostare il suo valore ma quando lo recupero, è corrotto. Le proprietà NSString
funzionano bene.CGFloat come proprietà
.h
@property CGFloat myFloat;
.m
[sender setMyFloat:someFloat];
[sender myFloat]; //<- corrupt?
** * *** *** AGGIORNAMENTO * ** * *** ****
Volevo ringraziarvi per tutti i tuoi suggerimenti, erano tutti corretti. Il mio problema era più complesso di quanto pensassi. Il mittente è un UIPanGestureRecognizer collegato a UIImageview con cui avevo problemi. UIPanGestureRecognizer chiama il muovere del selettore: (id) mittente e questo è dove si trova il mio problema.
All'interno mossa: ho potuto svolgere con successo:
[[sender view] setMyString:@"test"];
e recuperare indietro con
[[sender view] myString];
non ho potuto però impostare o recuperare qualsiasi proprietà float a tutti senza includere (id) di sé. Per esempio:
[[sender view] setMyString:@"test"]; //->works
[[sender view] setMyFloat:1.0f]; //->does not work
Ma questo funziona:
[[[sender view]self] setMyFloat:1.0f]; //->works
Questa è la cosa strana che mi ha portato a credere che stavo avendo un problema con il mio fusione galleggiante! Possiedo diverse proprietà NSString e ritornano perfettamente ma i CGFloats no. Qualcuno potrebbe spiegarmi perché in qualche modo ottengo il successo con gli archi ma il galleggiante si perde qui?
Come si manifesta la corruzione? – Eimantas
Sto impostando un valore compreso tra -.5 e .5, Viene restituito come 0.0 o -2.000001 – user973984
È necessario fornire un contesto per queste due righe di codice, o tutto quello che possiamo fare è fare ipotesi, che non è particolarmente costruttivo. Ecco un'ipotesi: stai ricevendo il _same_'UIImageView' da entrambi i puntatori del 'sender'? –