Formatting NSInteger and NSUInteger
%zd, %tu, %tx (signed, unsigned, hex) currently format
NSIntegerandNSUIntegerwith no warnings.
The printf(3) man page:
Note: the t modifier, when applied to a o, u, x, or X conversion, indicates that the argument is of an unsigned type equivalent in size to a
ptrdiff_t. The z modifier, when applied to a d or i conversion, indicates that the argument is of a signed type equivalent in size to asize_t.
Apple’s String Format Specifiers documentation still recommends casting to long or unsigned long and using %ld or %lu.