Почему флаг компоновщика -ObjC необходим для связывания категорий в статических библиотеках? (LLVM)

Regarding this technical Q&A from Apple: http://developer.apple.com/library/mac/#qa/qa1490/_index.html

Я думаю, что компилятор может пометить вызовы методов, определенных в категориях, во время компиляции (он знает, что они были определены в категории, а не в основном классе, потому что прототип был в@interface Class (Category) раздел), чтобы можно было построить таблицу в объектных файлах «методов внешней категории». Затем компоновщик после выполнения обычной компоновки должен иметь возможность объединять / объединять и обрабатывать «методы внешней категории». таблиц из всех объектов и ищите совпадающие символы в соответствующих категориях классов из всех связанных структур / библиотек / объектов, затем он может получить те, которые не были уже в & a; цель.

Должно быть что-то, чего мне не хватает, но что это? Почему это невозможно?

Ответы на вопрос(1)

Ваш ответ на вопрос