Method得到類的類方法
- 導入#import <objc/runtime.h>
+ (void)load {
// 獲取替換后的類方法
Method otherMethod = class_getClassMethod([UIImage class], @selector(imageNameNextWith:));
// 獲取替換前的類方法
Method method = class_getClassMethod([UIImage class], @selector(imageNamed:));
// 然后交換類方法
method_exchangeImplementations(otherMethod, method);
}
load方法只會走一次,利用runtime的method進行方法的替換 [uiimage class]可以寫成self 當然這里分類可以直接寫成
// 把系統(tǒng)的方法替換成我們自己寫的方法
+ (UIImage *)imageNameNextWith:(NSString *)nameString {
UIImage *image = nil;
image = [UIImage imageNameNextWith:[nameString stringByAppendingString:@"tupian.jpg"]];
return image;
}
// 這里的imagenamed其實已經(jīng)替換成了我們自己寫的方法
UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
image.image = [UIImage imageNamed:@"1.jpg"];
[self.view addSubview:image];
------收集