Mój problem jest następujący:Objective-C - porównywanie liczb całkowitych nie działa zgodnie z oczekiwaniami
Otrzymuję ciąg JSON z całej sieci. Po dekodowaniu (przy użyciu bibliotek SBJSON) staje się NSDictionary, który powinien zawierać pewną liczbę kluczy "userid". Mówię "powinien", ponieważ gdy porówna się wartość do int, lub NSINTEGER, lub NSNumber, nigdy nie ocenia poprawnie.
Oto porównanie w kodzie:
NSDictionary *userDictionary = [userInfo objectAtIndex:indexPath.row];
if ([userDictionary objectForKey:@"userid"] == -1) {
//Do stuff
}
Wartość wewnątrz słownika Mam testowanie z -1. Kiedy wydrukuję go na konsolę przy pomocy NSLog, pokazuje on nawet, że jest -1. Jednak kiedy porównasz ją do -1 w wyrażeniu "jeśli", to wartość ta jest fałszywa, kiedy powinna być prawdziwa. Próbowałem nawet porównywania z [NSNumber numberWithInt: -1] i nadal jest to wartość false.
Co robię źle? Z góry dziękuje za twoją pomoc!