-
-
Save iRiziya/df72406a8d3ca82cf1e6 to your computer and use it in GitHub Desktop.
Ray Wenderlich's UIImage serializer for Alamofire, updated for Alamofire 2.0 and Swift 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
extension Alamofire.Request { | |
/** Response serializer for images from: http://www.raywenderlich.com/85080/beginning-alamofire-tutorial */ | |
class func imageResponseSerializer() -> GenericResponseSerializer<UIImage> { | |
return GenericResponseSerializer { request, response, data in | |
guard let validData = data else { | |
let failureReason = "Data could not be serialized. Input data was nil." | |
let error = Error.errorWithCode(.DataSerializationFailed, failureReason: failureReason) | |
return .Failure(data, error) | |
} | |
if let image = UIImage(data: validData, scale: UIScreen.mainScreen().scale) { | |
return Result<UIImage>.Success(image) | |
} | |
else { | |
return .Failure(data, Error.errorWithCode(.DataSerializationFailed, failureReason: "Unable to create image.")) | |
} | |
} | |
} | |
/** Convenience method for returning images from: http://www.raywenderlich.com/85080/beginning-alamofire-tutorial */ | |
func responseImage(completionHandler: (NSURLRequest?, NSHTTPURLResponse?, Result<UIImage>) -> Void) -> Self { | |
return response(responseSerializer: Request.imageResponseSerializer(), completionHandler: completionHandler) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment