Skip to content

Instantly share code, notes, and snippets.

@jon
Created February 3, 2010 22:21
Show Gist options
  • Save jon/294099 to your computer and use it in GitHub Desktop.
Save jon/294099 to your computer and use it in GitHub Desktop.
An NSValueTransformer to convert images to/from serialized PNGs (for CoreData)
//
// BPImageTransformer.h
// Skates
//
// Created by Jon Olson on 2/3/10.
// Copyright 2010 Ballistic Pigeon, LLC. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface BPImageTransformer : NSValueTransformer {
}
+ (void)registerValueTransformer;
@end
//
// BPImageTransformer.m
// Skates
//
// Created by Jon Olson on 2/3/10.
// Copyright 2010 Jon Olson. All rights reserved.
//
#import "BPImageTransformer.h"
@interface BPImageTransformer (Private)
@end
@implementation BPImageTransformer
+ (void)registerValueTransformer {
[NSValueTransformer setValueTransformer:[[[self alloc] init] autorelease] forName:@"BPImageTransformer"];
}
#pragma mark -
#pragma mark NSValueTransformer implementation
+ (BOOL)allowsReverseTransformation {
return YES;
}
+ (Class)transformedValueClass {
return [NSData class];
}
#pragma mark -
#pragma mark Image transformation
- (id)transformedValue:(id)value {
return UIImagePNGRepresentation(value);
}
- (id)reverseTransformedValue:(id)value {
return [UIImage imageWithData:value];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment