Objective-C - сравнение целых чисел не работает, как ожидалось
Итак, моя проблема заключается в следующем:
Я получаю строку JSON со всей сети. При декодировании (с использованием библиотек SBJSON) он становится NSDictionary, который ДОЛЖЕН содержать некоторый номер для ключа 'userid'. Я говорю «должен», потому что когда я сравниваю значение с типом int, NSINTEGER или NSNumber, оно никогда не оценивается правильно.
Вот сравнение в коде:
NSDictionary *userDictionary = [userInfo objectAtIndex:indexPath.row];
if ([userDictionary objectForKey:@"userid"] == -1) {
//Do stuff
}
Значение в словаре, с которым я тестирую, равно -1. Когда я распечатываю его на консоль, используя NSLog, он даже показывает, что это -1. Тем не менее, когда я сравниваю его с -1 в операторе if, он оценивается как ложный, когда он должен быть истинным. Я даже пытался сравнить с [NSNumber numberWithInt: -1], и он все еще оценивается как ложный.
Что я делаю неправильно? Заранее спасибо за вашу помощь!