Вы, вероятно, не должны манипулировать структурой Method напрямую. Вместо этого используйте функцию времени выполнения. Вам нужно #import заголовка времени выполнения, но там есть хороший метод с именем method_setImplementation. Это будет работать примерно так:
id targetObject = [SomeClass sharedDelegate];
Method methodToModify = class_getInstanceMethod([targetObject class], @selector(replaceMe:argument:));
IMP newImplementation = [self methodForSelector:@selector(overriddenDelegateMethod:Arg:)];
method_setImplementation(methodToModify, newImplementation);
Это может не сработать в вашем конкретном случае, поскольку class_getInstanceMethod может не возвращать метод для метода, определенного в принятом протоколе, но это "правильный" способ извлечения метода IMP.