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], и он все еще оценивается как ложный.

Что я делаю неправильно? Заранее спасибо за вашу помощь!

Ответы на вопрос(1)

Ваш ответ на вопрос