Objective-C - Porównanie liczb całkowitych nie działa zgodnie z oczekiwaniami

Więc moim problemem jest:

Otrzymuję ciąg JSON z całej sieci. Po zdekodowaniu (przy użyciu bibliotek SBJSON) staje się on NSDictionary, który POWINIEN zawierać pewną liczbę znaków dla klucza „userid”. Mówię „powinieneś”, ponieważ gdy porównuję wartość do int, NSINTEGER lub NSNumber, nigdy nie będzie poprawnie oceniany.

Oto porównanie w kodzie:

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

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

Wartość w słowniku, który testuję, to -1. Kiedy drukuję go na konsoli za pomocą NSLog, pokazuje nawet, że jest -1. Jednak gdy porównuję go do -1 w instrukcji „if”, to ma wartość false, gdy powinna być prawdziwa. Próbowałem nawet porównać z [NSNumber numberWithInt: -1] i nadal ma on wartość false.

Co ja robię źle? Z góry dziękuje za twoją pomoc!

questionAnswers(1)

yourAnswerToTheQuestion