iOS objc_msgSend 报错解决方案
Too many arguments to function call ,expected 0,have3
改成类似这样:
((void(*)(id, SEL, id, id, id))objc_msgSend)(msgTarget, valueAction, wObject, arg1, arg2);
前面加上一个类型强转。把objc_msgSend转换成 (void(*)(id,SEL,id,.... )), 形参的个数与实际用objc_msgSend的参数个数一致。比如你是3个参数,就只写3个:
((void(*)(id, SEL, id))objc_msgSend)(msgTarget, valueAction, wObject);