Created
February 12, 2016 17:47
-
-
Save mingsai/22fcfed912ea79c1b68d to your computer and use it in GitHub Desktop.
A Swift class to manage image to data value transformations for use with Core Data
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
| // | |
| // MNGImageToDataTransformer.swift | |
| // | |
| // | |
| // Created by Tommie N. Carter, Jr., MBA on 9/11/15. | |
| // Copyright © 2015 MING Technology. All rights reserved. | |
| // | |
| import UIKit | |
| class MNGImageToDataTransformer: NSValueTransformer { | |
| override class func allowsReverseTransformation () -> Bool { | |
| return true | |
| } | |
| override class func transformedValueClass () -> AnyClass { | |
| return NSData.classForCoder() | |
| } | |
| //NOTE: Can we consider using UIImageJPEGRepresentation for thumbnails | |
| override func transformedValue (value:AnyObject?) -> AnyObject? { | |
| return UIImagePNGRepresentation(value! as! UIImage) | |
| } | |
| override func reverseTransformedValue (value: AnyObject?) -> AnyObject? { | |
| return UIImage (data: value! as! NSData) | |
| } | |
| } | |
| class MNGThumbnailImageToDataTransformer: NSValueTransformer { | |
| override class func allowsReverseTransformation () -> Bool { | |
| return true | |
| } | |
| override class func transformedValueClass () -> AnyClass { | |
| return NSData.classForCoder() | |
| } | |
| //Use JPEG for low-resolution thumbnails | |
| override func transformedValue (value:AnyObject?) -> AnyObject? { | |
| return UIImageJPEGRepresentation((value! as! UIImage), 0.0) | |
| } | |
| override func reverseTransformedValue (value: AnyObject?) -> AnyObject? { | |
| return UIImage (data: value! as! NSData) | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment