我要做的是编写压缩图像的通用函数。
func compress(image: UIImage, withRatio ratio: CGFloat) -> Data? {
return UIImageJPEGRepresentation(image, ratio)
}
但此处compress()
的{{1}}可以是任意ratio
值CGFloat
,但我只想接受0...∞
。有没有办法做到这一点?
答案 0 :(得分:2)
由于您的函数已经可以返回var settings = new JsonSerializerSettings
{
Converters = { new ObjectListToSequentialPropertyArrayConverter<CoordPointsArray>() },
};
var root = JsonConvert.DeserializeObject<List<CoordPointsArray>>(json, settings);
,因此您可以在使用之前检查nil
的值。如果它不在您想要的范围内,您可以返回ratio
。
nil
或者你可以抛出异常:
func compress(image: UIImage, withRatio ratio: CGFloat) -> Data? {
if 0...1 ~= ratio {
return UIImageJPEGRepresentation(image, ratio)
} else {
return nil
}
}