Почему переменная 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, если я хочу, чтобы это значение отображалось?