
本文共 2980 字,大约阅读时间需要 9 分钟。
Objective-C���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������
���������������������������������������������������������������������������������������������������+ (BOOL)resolveInstanceMethod:(SEL)sel
������������������������������������������������������������������������������������������������������������������������+ (BOOL)resolveClassMethod:(SEL)sel
������������
���������������������������������id self
���SEL _cmd
���self
���������������������������������_cmd
������������������������������������������_cmd
������������������������������������������������������������
������������������������������
���������������������������������������������������class_addMethod
������������������������������������
BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types)
- ������������
cls
��������������� - ������������
name
���������������SEL������������ - ������������
imp
������������������������ - ������������
types
������������������������������
���������������������types
���������������������������������������������
void
������v
���������id
������@
���������SEL
������:
���������
���������������������������������
���������������������UIImage
���������������������������������������clearImage
���������������������������������UIImage
���������������������������������������������������������������
// ���UIImage+Image.h���������������������// ���UIImage+Image.m���������������������+ (BOOL)resolveInstanceMethod:(SEL)sel{ if (NSSelectorFromString(@"clearImage") == sel) { // ������������������������������ class_addMethod(self, sel, (IMP)clearImage, "v@:@"); return YES; } return [super resolveInstanceMethod:sel];}// ���������������������������IMP clearImage = ^void(id self, SEL _cmd) { NSLog(@"������������������"); // ���Var������������������������������������������������������};// ������������UIImage *image = [[UIImage alloc] init];[image performSelector:@selector(clearImage)];
������������������������
������performSelector
���������������������������������������������
// ���������������������������[aObject performSelector:@selector(yourDynamicMethod) withObject:param];
���������performSelector
������������������������������������������������������������������������������
���������������������������
������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
