Skip to content

Instantly share code, notes, and snippets.

@CavalcanteLeo
Forked from bclubb/ImageHelper.m
Created March 22, 2016 02:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CavalcanteLeo/4622e17bdf56cad25776 to your computer and use it in GitHub Desktop.
Save CavalcanteLeo/4622e17bdf56cad25776 to your computer and use it in GitHub Desktop.
#import "ImageHelper.h"
#import "EntryHelper.h"
@implementation ImageHelper
@synthesize image;
- (UIImage *)getFullScreenImage{
return [UIImage imageWithContentsOfFile:[self getFullScreenImagePath]];
}
- (UIImage *)getThumbnailImage{
return [UIImage imageWithContentsOfFile:[self getThumbnailImagePath]];
}
- (UIImage *)getOriginalImage{
return [UIImage imageWithContentsOfFile:[self getOriginalImagePath]];
}
- (NSString *)getImageDirectory {
if(image.insertDate == nil){
image.insertDate = [NSDate date];
}
EntryHelper *helper = [[EntryHelper alloc] init];
helper.entry = image.entry;
NSString *imageDirectory = [[helper getEntryDirectoryPath] stringByAppendingPathComponent:[image.insertDate stringFileDate]];
NSLog(@"Getting Image in:%@", imageDirectory);
[helper release];
return imageDirectory;
}
- (NSString *)getThumbnailImagePath{
return [[self getImageDirectory] stringByAppendingPathComponent:@"thumbnail.png"];
}
- (NSString *)getFullScreenImagePath{
return [[self getImageDirectory] stringByAppendingPathComponent:@"fullScreen.png"];
}
- (NSString *)getOriginalImagePath{
return [[self getImageDirectory] stringByAppendingPathComponent:@"original.png"];
}
+ (NSArray *)helpersFromArray:(NSArray *)images{
NSMutableArray *imageHelpers = [[[NSMutableArray alloc] initWithCapacity:[images count]] autorelease];
for (Image *image in images) {
ImageHelper *helper = [[ImageHelper alloc] init];
helper.image = image;
[imageHelpers addObject:helper];
[helper release];
}
return imageHelpers;
}
+ (NSArray *)helpersFromEntry:(Entry *)entry withObjectContext:(NSManagedObjectContext *)managedObjectContext{
// We need to pull the images ordered by the time they were inserted
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Image" inManagedObjectContext:managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"insertDate" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
[fetchRequest setSortDescriptors:sortDescriptors];
[sortDescriptor release];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"entry == %@", entry]];
[fetchRequest setEntity:entity];
NSError *error;
NSArray *results = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
NSLog(@"Looking for image from entry on: %@", entry.enteredDate);
if ([results count] > 0) {
return [ImageHelper helpersFromArray:results];
} else {
return [NSArray array];
}
}
- (void)dealloc{
[image release];
[super dealloc];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment