我正在转换此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
?
答案 0 :(得分:2)
为什么不尝试:
NSUInteger unsignedInteger = verticalTranslation > NSUIntegerMax ? NSUIntegerMax : (NSUInteger)verticalTranslation;