问题
How do I convert typedef signed long CFIndex
to typedef unsigned int NSUInteger
?
Is it OK if I use a CFIndex
as an argument of type NSUInteger
. I haven't casted it, and the complier doesn't seem to mind. Does the compiler just do the conversion for me?
回答1:
You need to be very careful here, since CFIndex is signed and NSUInteger is unsigned. There are various routines that return a CFIndex -1. You need to check for that before using it as an NSUInteger.
回答2:
Yes, the compiler performs implicit type conversion.
来源:https://stackoverflow.com/questions/9952738/convert-cfindex-to-nsuinteger