Как переопределить метод в классе фреймворка (время выполнения)

проблема:

Framework будет кэшировать данные изображения, когда выше:

[UIImage imageNamed:]

Я нене хочу, чтобы кэширование происходило, поэтому я могу заменить его на

[UIImage imageOfContentOfFile:]

Кажется, решено, но после моих испытаний, в Xib 'инстанцировать прогресс, использование фреймворкаimageNamed: скорее, чемimageOfContentOfFile.

То есть изображения, загруженные с помощью xib, все еще кэшируются.

Поэтому я пытаюсь переопределить UIImages imageNamed: метод, сделайте весь этот метод НЕ КЕШИТЬ.

--try1. категория:

@implementation UIImage (ImageNamedNoCache)

+ (UIImage *)imageNamed:(NSString *)name; 
{
    NSString* path = [[NSBundle mainBundle] pathForResource:name ofType:nil];
    return [UIImage imageWithContentsOfFile:path];
}

@end

--result: предупреждение «.Категория реализует метод, который также будет реализован своим основным классом "

--try2. время выполнения заменить метод »чертенок

    //get super method
Method method_imageNamed = class_getClassMethod([UIImage class], @selector(imageNamed:));

//get my method
Method method_myImageNamed = class_getClassMethod([self class], @selector(myImageNamed:));

//get my imp
IMP imp_myImageNamed = method_getImplementation(method_myImageNamed);

//set super method's imp to my imp
method_setImplementation(method_imageNamed, imp_myImageNamed);

--результат они тоже стараются работать только когдаЯ призываю [UIImage imageNamed:]

но XIB 'инстанцирование нет работа.

помоги мне спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос