将CFIndex转换为NSUInteger?

时间:2012-03-31 03:21:45

标签: objective-c c typedef core-foundation foundation

如何将typedef signed long CFIndex转换为typedef unsigned int NSUInteger

如果我使用CFIndex作为NSUInteger类型的参数,是否可以。我没有投入它,而且编码器似乎并不介意。编译器是否只为我做转换?

2 个答案:

答案 0 :(得分:4)

这里需要非常小心,因为CFIndex已签名且NSUInteger未签名。有各种例程返回CFIndex -1。在将其用作NSUInteger之前,您需要检查它。

答案 1 :(得分:-1)

是的,编译器执行implicit type conversion