// // UIImage+Addtions.m // JasonDevelop // // Created by Jason Lee on 3/10/15. // Copyright (c) 2015 JasonDevelop. All rights reserved. // @import ObjectiveC.runtime; #import "UIImage+Addtions.h" @implementation UIImage (Addtions) + (void)load { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ Class class = [self class]; Method imageNamed = class_getClassMethod(class, @selector(imageNamed:)); Method imageNamedCustom = class_getClassMethod(class, @selector(imageNamedCustom:)); method_exchangeImplementations(imageNamed, imageNamedCustom); }); } + (UIImage *)imageNamedCustom:(NSString *)name { UIImage *image = [self imageNamedCustom:name]; [image setFileName:name]; return image; } - (NSString *)fileName { return objc_getAssociatedObject(self, _cmd); } - (void)setFileName:(NSString *)fileName { objc_setAssociatedObject(self, @selector(fileName), fileName, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } @end