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

时间:2014-11-25 10:43:56

标签: ios nsmutableorderedset

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

NSMutableOrderedSet *primitive = objc_msgSend(_s, fastPrimitiveGetter)

我该如何解决?谢谢,

2 个答案:

答案 0 :(得分:10)

更改每个objc_msgSend方法调用
NSMutableOrderedSet *primitive = objc_msgSend(_s, fastPrimitiveGetter);

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

它对我来说很完美。

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

答案 1 :(得分:0)

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

我在这里所说的一切都在an open pull request written by somebody else。 : - )