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

И все, что я говорю здесь, в открытом запросе извлечения, написанном кем-то другим.:-)

Другие вопросы по тегам