Мне не удалось выполнить NSMutableArray addObject. код следующим образом:swizzle NSMutableArray addObject: failed
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);
Я предполагаю, что есть что-то неправильно в [классе себя]. Но я не знаю, где проблема.
Что является результатом '[само класс]'? –
Думаю, следующий вопрос: чего вы пытаетесь достичь? Может, есть другой способ? – nielsbot