Warum wird das Linker-Flag -ObjC benötigt, um Kategorien in statischen Bibliotheken zu verknüpfen? (LLVM)

Zu diesen technischen Fragen und Antworten von Apple: http://developer.apple.com/library/mac/#qa/qa1490/_index.html

Ich denke, der Compiler könnte Aufrufe von Methoden, die zur Kompilierungszeit in Kategorien definiert wurden, markieren (er weiß, dass sie in einer Kategorie und nicht in der Hauptklasse definiert wurden, weil sich der Prototyp in einer befand@interface Class (Category) Abschnitt) - so könnte es eine Tabelle in den Objektdateien von "externen Kategoriemethoden" erstellen. Dann sollte der Linker nach dem normalen Verknüpfen in der Lage sein, die Tabellen "externer Kategoriemethoden" aus allen Objekten zu verketten / zusammenzuführen und zu verarbeiten und in übereinstimmenden Klassenkategorien aus allen verknüpften Frameworks / Bibliotheken / Objekten nach übereinstimmenden Symbolen zu suchen kann diejenigen einbeziehen, die noch nicht im Ziel waren.

Ich muss etwas vermissen, aber was ist es? Warum ist das nicht möglich?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage