KCOrderedAccessorFix objc_msg发送函数调用的参数太多,预期为0,有2

在Xcode 6中,KCOrderedAccessorFix在以下行中产生错误:

NSMutableOrderedSet *primitive = objc_msgSend(_s, fastPrimitiveGetter) 

我该如何解决? 谢谢,

更改每个objc_msgSend方法调用

 NSMutableOrderedSet *primitive = objc_msgSend(_s, fastPrimitiveGetter); 

 NSMutableOrderedSet *primitive = ((id (*)(id, SEL))objc_msgSend)(_s, fastPrimitiveGetter); 

它对我来说非常合适。

修复我的拉取请求: https : //github.com/aqibmumtaz/KCOrderedAccessorFix

kc_generateOrderedSetAccessorsForRelationship的顶部添加此行:

 NSMutableOrderedSet* (*action)(id, SEL) = (NSMutableOrderedSet* (*)(id, SEL))objc_msgSend; 

然后将所有对“ objc_msgSend ”的调用更改为“ action ”,如下所示:

 NSMutableOrderedSet *primitive = objc_msgSend(_s, fastPrimitiveGetter); 

变为:

 NSMutableOrderedSet *primitive = action(_s, fastPrimitiveGetter); 

我在这里说的一切都是在其他人写的公开拉请求中 。 🙂