Details zu Kategorien in einer Klasse zur Laufzeit abrufen?

8

Gibt es in Objective-C eine Möglichkeit, die Kategorien in einer bestimmten Klasse zur Laufzeit aufzulisten?

Mit den Objective-C-Laufzeitfunktionen kann ich Details für die Klassen- und Instanzmethoden, Klassenhierarchie, Instanzvariablen usw. erhalten, aber anscheinend nicht die Kategorieinformationen.

Wenn ich auf F-Script schaue, sehe ich, dass es keine Kategorieinformationen anzeigt (tatsächlich scheint es überhaupt keine Methoden aus Kategorien anzuzeigen). Auf der anderen Seite, Klassen-Dump extrahiert Kategorie Informationen, aber das ist von der Binärdatei und nicht zur Laufzeit.

Es gibt eine Erwähnung von struct objc_category in objc / runtime.h, aber diese scheint privat zu sein. Gibt es einen unterstützten Weg?

    
Rufus Cable 06.02.2011, 20:28
quelle

1 Antwort

6

von " Die Ziel-C-Programmiersprache " im SDK-Dokument:

  

Category-Methoden können alles tun, was in der Klasse definierte Methoden können. Zur Laufzeit gibt es keinen Unterschied.

Die Unterstützung für objc_category struct wurde mit dem modernen Ziel-c (ios, 10.5) entfernt, wodurch diese Information undurchsichtig wird.

Ich fürchte, Sie können die gewünschten Informationen nicht bekommen.

    
Olivier Tabone 06.02.2011, 23:06
quelle

Tags und Links