Looking in the headers, I can see that for the 64-bit system I'm compiling for, both NSUInteger and UInt32 are defined as 32 bit unsigned integers, so why is Xcode claiming a loss in precision in a warning when I assign one to the other?
"Implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'UInt32' (aka 'unsigned int')"
I can see that the warning is referring to one as 'long' and one as 'int', but since they both resolve to the same 32 bit unsigned integer on this system, there should be no loss in precision.
It's not actually causing any problems, but it seems I've probably misunderstood something so would like to better understand.
There was this question, but it addresses safety as opposed to 'why': Can I safely store UInt32 to NSUInteger?