Почему переменная NSInteger должна быть приведена к long при использовании в качестве аргумента формата?

NSInteger myInt = 1804809223;
NSLog(@"%i", myInt); <==== 

Код выше выдает ошибку:

Values of type "NSInteger" should not be used as format arguments: add an explicit cast to 'long' instead.

ПравильноNSLog сообщение на самом делеNSLog(@"%lg", (long) myInt); Почему мне нужно преобразовать целочисленное значение myInt в long, если я хочу, чтобы это значение отображалось?

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

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