Xcode 6 之前 objc_msgsend 是可以带参数的,从 Xcode 6 之后带参数会报错 Too many arguments to function call…;
解决方法
1、修改设置信息
Build Settings -> Enable Strict Checking of objc_msgSend Calls 改为 NO。
此方法在 Xcode 12 失效,即使改为 NO,模拟器不报错,真机调试报错。
2、通过类型强制转换
((void (*)(id, SEL, id))objc_msgSend)(target, sel, value);
需要传的参数个数自行定义