ios - Can a Swift function accept only a range of values? -


what trying write generic function compresses image.

func compress(image: uiimage, withratio ratio: cgfloat) -> data? {     return uiimagejpegrepresentation(image, ratio) } 

but here compress()'s ratio can cgfloat value 0...∞, want accept 0.0...1.0. there way that?

as function can return nil, can check value of ratio before using it. if not in desired range, can return nil.

func compress(image: uiimage, withratio ratio: cgfloat) -> data? {     if 0...1 ~= ratio {         return uiimagejpegrepresentation(image, ratio)     } else {         return nil     } } 

or can throw exception:

enum compresserror: error {     case ratiooutofrange }  func compress(image: uiimage, withratio ratio: cgfloat) throws -> data? {     if 0...1 ~= ratio {         return uiimagejpegrepresentation(image, ratio)     } else {         throw compresserror.ratiooutofrange     } } 

Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -