Agregando un entero a NSMutableArray

No pude encontrar esto en ninguna parte, así que solo pregunto para asegurarme. Y sí, sé que es básico, pero creo que preferiría hacerlo antes de cometer el error un millón de veces:

Si hago lo siguiente, ¿convierte el "0" a un NSNumber de forma predeterminada (si no es así, qué tipo de objeto es), o tendría que hacer el segundo código?

(O ambos podrían estar equivocados por lo que estoy tratando de hacer. Si es así, hágamelo saber. Ambos se compilan, así que me pregunto cuál es "correcto" (o preferido) y por qué).

Código 1:

<code>NSMutableArray array = [[[NSMutableArray alloc] init]];
[array addObject: 0];
</code>

Código 2:

<code>NSMutableArray array = [[NSMutableArray alloc] init];
[array addObject: [NSNumber numberWithInt: 0]];
</code>

Respuestas a la pregunta(3)

Su respuesta a la pregunta