Objective-C - Vergleichen von Ganzzahlen, die nicht wie erwartet funktionieren

Mein Problem ist also folgendes:

Ich erhalte eine JSON-Zeichenfolge aus dem gesamten Netzwerk. Bei der Dekodierung (unter Verwendung von SBJSON-Bibliotheken) wird es zu einem NSDictionary, das eine Reihe von Informationen für den Schlüssel 'userid' enthalten MUSS. Ich sage "sollte", da der Wert beim Vergleich mit einem int, einem NSINTEGER oder einer NSNumber niemals korrekt ausgewertet wird.

Hier ist der Vergleich im Code:

NSDictionary *userDictionary = [userInfo objectAtIndex:indexPath.row];

if ([userDictionary objectForKey:@"userid"] == -1) {
 //Do stuff
}

Der Wert in dem Wörterbuch, mit dem ich teste, ist -1. Wenn ich es mit NSLog auf die Konsole drucke, wird sogar -1 angezeigt. Wenn ich es jedoch mit -1 in der 'if'-Anweisung vergleiche, wird es als falsch ausgewertet, wenn es wahr sein sollte. Ich habe sogar versucht, mit [NSNumber numberWithInt: -1] zu vergleichen, und es wird immer noch false ausgewertet.

Was mache ich falsch? Vielen Dank im Voraus für Ihre Hilfe!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage