ricevuti i dati da JSON, che è simile a:Come testare il valore NSCFBoolean?
{
myself = 1;
"id" = 123;
}
e l'ho messo in un NSDictionary * messageDic, ho anche definito un valore * isMyself a ricevere il valore di me stesso
Boolean isMyself = [messageDic objectForKey:@"myself"];
ma non funziona.
Così ho stampare il tipo di data,
const char* className = class_getName([[messageDic objectForKey:@"myself"] class]);
NSLog(@"yourObject is a: %s", className);
NSLog(@"Size of BOOL %d", sizeof(isMyself));
NSLog(@"Size of BOOL %@", [messageDic objectForKey:@"myself"]);
i risultati sono:
2012-08-01 17:41:48.886 yourObject is a: __NSCFBoolean
2012-08-01 17:41:48.887 Size of BOOL 1
2012-08-01 17:41:48.887 Size of BOOL 0
e se la sezione di seguito anche non funziona.
if ([messageDic objectForKey:@"myself"] == 0)
ho cercato
NSCFBoolean *isMyself = [messageDic objectForKey:@"myself"];
ho ottenuto modulo di errore di cui sopra.
la mia domanda è cosa devo fare per testare il valore di [messageDic objectForKey:@"myself"]
? e qual è il __NSCFBoolean
?
Grazie!
I tuoi linguaggi di miscelazione - boolValue è SÌ o NO, quindi il codice sopra dovrebbe essere '... == NO) –
Come ha detto @DavidH, è pericoloso usare "== NO" su un BOOL – onevcat