+[NSMethodSignature signatureWithObjCTypes:]: type signature is empty.
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSignature];
方法交换后出现invocationWithMethodSignature这个crash。
交互oldsel和newsel。
由于你交换前的oldsel也是不存在的。所以崩了。
解决方法判断交互前你的target是不是存在这个oldsel,如果不存在则addmethod。
然后在进行oldsel和newsel的交换。
网友评论