Detectar se NSNumber é zero, zero ou 0

Eu tenho uma variável nos dados principais. Quero detectar para os casos em que é nulo zero, nulo ou caso contrário não possui um valor agradável, como 222 ou 333.

Isso deve ser trivial, mas estou sendo pego pela sintaxe do Objective-C.

O código a seguir énão trabalhando:

if (_item.id!=nil && _item.id!=0) {
//do something
}

O ID da nota deve ser um NSNumber.

É definido como

@property (nonatomic, retain) NSNumber * id;

Devo esclarecer que não está funcionando quando o valor é registrado no console como 0.

Dada a maneira como os tipos de variáveis e os dados principais funcionam, não sei dizer o que faz com que a variável faça logon no console como '0', mas algo está causando isso. Basicamente, quero excluir casos em que o valor seja qualquer coisa diferente de um número inteiro diferente de zero (em termos matemáticos, não científicos da computação).

questionAnswers(2)

yourAnswerToTheQuestion