xcode6使用objc_msgsend报错问题

来源:互联网 发布:刘洪波四大讲座 知乎 编辑:程序博客网 时间:2024/06/09 21:16

自己的工程以前运行ok。在xcode升级xcode6后,突然objc_msgsend报错

例如:

 id sharedConfigCenter = objc_msgSend(networkMonitorClass,NSSelectorFromString(@"shareInstance"));

系统抛出一个语法错误:Too many arguments to function call, expected 0, have 2。

解决方法:

    

 id sharedConfigCenter = objc_msgSend(networkMonitorClass,NSSelectorFromString(@"shareInstance"));

改为

      id (*typed_msgSend)(id, SEL) = (void *)objc_msgSend;            id sharedConfigCenter  = typed_msgSend(networkMonitorClass, NSSelectorFromString(@"shareInstance"));

或者 :

  id sharedConfigCenter = ((id (*)(id, SEL))objc_msgSend)(networkMonitorClass, NSSelectorFromString(@"shareInstance"));

0 0
原创粉丝点击