BOOL cambia valore in obiettivo-C?
-
03-07-2019 - |
Domanda
Ho dei problemi con una proprietà BOOL
e non riesco proprio a capirlo.
Ho il seguente set nel mio file .h:
BOOL myVar;
@property BOOL myVar;
Quindi nel mio file .m sintetizzo myVar
e ho un metodo che imposta myVar = YES;
e avvia anche un timer. Il timer chiama quindi un altro metodo che tenta di leggere il valore di myVar.
Per verificare il valore di myVar ho:
NSLog(@"The value of the bool is %@\n", (myVar ? @"YES" : @"NO"));
Il primo ciclo attraverso la console mostra myVar = YES
, quindi dice NO.
Come posso mantenerlo come valore di YES
? È già YES
ma il mio NSLog è sbagliato? Ho bisogno di testare SÌ / NO in quel metodo perché le azioni intraprese varieranno a seconda del loro valore.
Soluzione
Il motivo per cui falliva era perché stavo confrontando (myVar = YES) invece di (myVar == YES.)
Sì, sono nuovo.
Altri suggerimenti
Imposta un punto di osservazione su myVar
per scoprire se cambia effettivamente, senza vedere più codice sorgente non possiamo dirti cosa sta succedendo :)