在一行中执行逻辑的更好方法

Better way to perform logic in one line

是否有更好的方式在一行中执行此逻辑?

- (BOOL)isValueInRange {
    return ((level.integerValue > 100) || (level.integerValue < 0)) ? NO : YES;
}

你可以这样做:

return level.integerValue >= 0 && level.integerValue <= 100;

如果值在范围内,这将 return 为真,否则为假。

我认为您无法避免重复 level.integerValue 两次。

return !((level.integerValue > 100) || (level.integerValue < 0))

您也可以使用 NSLocationInRange:

NSLocationInRange(level.integerValue, NSMakeRange(0, 100)