If I do this (iOS):
var i:Integer;
NSLog('i: %ld',i);
Then the compiler gives me this warning:
warning NW1: Format specifier "ld" (nr 0) expects a "Int64/UInt64" while "Int32" was passed as a parameter
If I then do this:
var i:Integer;
NSLog(‘i: %ld’,Int64(i));
then I get this warning:
warning NW1: Format specifier "ld" (nr 0) expects a "Int32/UInt32" while "Int64" was passed as a parameter
That’s somewhat confusing (to me, at least!). If I change i to be an NSUInteger then it’s fine, but that doesn’t work if I’m passing a type enumerator as an integer as I have no idea whether it is 32 or 64.