Objective-C - Comparando números inteiros não funcionando como esperado

Então meu problema é este:

Estou recebendo uma string JSON da rede. Quando decodificado (usando bibliotecas SBJSON), ele se torna um NSDictionary que deve conter um número de algum tipo para a chave 'userid'. Digo 'should' porque quando comparo o valor a um int, ou a um NSINTEGER ou NSNumber, ele nunca é avaliado corretamente.

Aqui está a comparação no código:

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

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

O valor dentro do dicionário que estou testando é -1. Quando eu imprimo para o console usando o NSLog, ele até mostra que é -1. No entanto, quando comparo com -1 na instrução 'if', ela é avaliada como false quando deveria ser verdadeira. Eu até tentei comparar com [NSNumber numberWithInt: -1], e ele ainda é avaliado como falso.

O que estou fazendo de errado? Agradeço antecipadamente por sua ajuda!

questionAnswers(1)

yourAnswerToTheQuestion