UIImage+Addtions.m 998 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // UIImage+Addtions.m
  3. // JasonDevelop
  4. //
  5. // Created by Jason Lee on 3/10/15.
  6. // Copyright (c) 2015 JasonDevelop. All rights reserved.
  7. //
  8. @import ObjectiveC.runtime;
  9. #import "UIImage+Addtions.h"
  10. @implementation UIImage (Addtions)
  11. + (void)load {
  12. static dispatch_once_t onceToken;
  13. dispatch_once(&onceToken, ^{
  14. Class class = [self class];
  15. Method imageNamed = class_getClassMethod(class, @selector(imageNamed:));
  16. Method imageNamedCustom = class_getClassMethod(class, @selector(imageNamedCustom:));
  17. method_exchangeImplementations(imageNamed, imageNamedCustom);
  18. });
  19. }
  20. + (UIImage *)imageNamedCustom:(NSString *)name {
  21. UIImage *image = [self imageNamedCustom:name];
  22. [image setFileName:name];
  23. return image;
  24. }
  25. - (NSString *)fileName {
  26. return objc_getAssociatedObject(self, _cmd);
  27. }
  28. - (void)setFileName:(NSString *)fileName {
  29. objc_setAssociatedObject(self, @selector(fileName), fileName, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
  30. }
  31. @end