在一行中执行逻辑的更好方法
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)
是否有更好的方式在一行中执行此逻辑?
- (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)