iOS objc_msgSend 报错解决方案

来源:互联网 发布:java axis简单入门 编辑:程序博客网 时间:2024/05/17 23:32

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);

0 0