0

我正在转换这个CGFloat

CGFloat verticalTranslation = CGFLOAT_MAX;

...NSUInteger使用以下代码:

if (verticalTranslation > NSUIntegerMax) unsignedInteger = NSUIntegerMax;
else unsignedInteger = verticalTranslation;

有用。但是,一旦我if用三元运算符替换,unsignedInteger就变成0

NSUInteger unsignedInteger = verticalTranslation > NSUIntegerMax ? NSUIntegerMax : verticalTranslation;

为什么使用三元版本时unsignedInteger等于0而不是?NSUIntegerMax

4

1 回答 1

2

你为什么不试试:

NSUInteger unsignedInteger = verticalTranslation > NSUIntegerMax ? NSUIntegerMax : (NSUInteger)verticalTranslation;
于 2013-09-18T15:56:50.920 回答