1
es un literal y el compilador lo convertirá en el tipo numérico apropiado si es apropiado.
Nótese, sin embargo, que si bien son NSInteger
y int
a la mayoría de los efectos la misma cosa, NSNumber
es un tipo de objeto. Para ese caso, su código no tiene sentido (y no debería compilarse sin advertencias).
(En realidad, hay algunas circunstancias en las que sería una especie de sentido, en cuanto a la aritmética de punteros, pero eso no es totalmente lo que quiere.)
Para el caso NSNumber, tendría lugar quiere algo como:
day = [NSNumber numberWithInt:[day intValue] + 1];
Interesante ... parece ser un punto importante ... – Moshe