Я превращаю- CGFloat
:Преобразование CGFloat в NSUInteger возвращает 0
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
при использовании троичной версии?
Я подозреваю, что вам может понадобиться явно привести verticalTranslation. –