我调配 NSMutableArray addObject 失败了。代码如下:
Method ori_Mehtod = class_getInstanceMethod([self class], @selector(addObject:));
Method swi_Method = class_getInstanceMethod([self class], @selector(swi_addObject:));
method_exchangeImplementations(ori_Mehtod, swi_Method);
但是,我找到了一个有用的方法,如下:
Method orig = class_getInstanceMethod(NSClassFromString(@"__NSArrayM"), NSSelectorFromString(@"addObject:"));
Method override = class_getInstanceMethod(NSClassFromString(@"__NSArrayM"), @selector(addObject_override:));
method_exchangeImplementations(orig, override);
我猜想 [self class] 有问题。但我不知道问题出在哪里。
最佳答案
NSMutableArray
是一个类簇。实例总是隐藏的类类型(例如您发现的 __NSArrayM
),因此调换 NSMutableArray
类本身没有什么好处。
关于ios - 调配 NSMutableArray addObject : failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761284/