我没能说服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);我猜是自学课出了点问题。但我不知道问题出在哪里。
发布于 2015-11-18 01:19:37
NSMutableArray是一个类簇。实例总是隐藏的类类型(比如您找到的__NSArrayM ),所以忽略NSMutableArray类本身没有什么好处。
发布于 2016-01-28 21:13:51
我想你正在寻找一种混合集群的方法,看看NSObjectSafe,它是一个很小的开源框架,它连接了基础容器的大多数常用功能,如NSMutableArray addObject:
发布于 2016-03-01 11:01:03
https://stackoverflow.com/questions/33761284
复制相似问题