empfangenen Daten von JSON, das sieht aus wie ist:Wie NSCFBoolean Wert zu testen?
{
myself = 1;
"id" = 123;
}
und ich es in ein NSDictionary * messageDic setzen, ich definiert auch einen Wert * isMyself den Wert von mir
Boolean isMyself = [messageDic objectForKey:@"myself"];
zu empfangen, aber es funktioniert nicht.
So drucke ich das Datum Typ,
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"]);
die Ergebnisse sind:
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
und die, wenn unten im Abschnitt auch nicht funktioniert.
if ([messageDic objectForKey:@"myself"] == 0)
Ich versuchte
NSCFBoolean *isMyself = [messageDic objectForKey:@"myself"];
Ich habe oben Fehler Form.
meine Frage ist, was soll ich tun, um den Wert von [messageDic objectForKey:@"myself"]
zu testen? und was ist die __NSCFBoolean
?
Danke!
Ihre Mischsprachen - boolValue ist entweder YES oder NO, daher sollte der obige Code '... == NO] sein. –
Wie @DavidH sagte, ist es gefährlich, "== NO" auf einem BOOL zu verwenden – onevcat