KCOrderedAccessorFix objc_msgSend слишком много аргументов для вызова функции, ожидается 0, есть 2
В Xcode 6 KCOrderedAccessorFix выдает ошибки в следующей строке:
NSMutableOrderedSet *primitive = objc_msgSend(_s, fastPrimitiveGetter)
Как я могу решить это? Спасибо,
2 ответа
Решение
Измените каждый вызов метода 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);
И все, что я говорю здесь, в открытом запросе извлечения, написанном кем-то другим.:-)