2011-02-06 6 views
8

In Objective-C, c'è un modo per elencare le categorie su una particolare classe in fase di esecuzione?Ottieni i dettagli delle categorie su una classe in fase di runtime?

Con le funzioni runtime Objective-C posso ottenere dettagli per i metodi classe e istanza, gerarchia di classi, variabili di istanza, ecc. Ma apparentemente non sono le informazioni sulla categoria.

Guardando F-Script, vedo che non visualizza le informazioni di categoria (anzi, sembra che non mostri affatto i metodi delle categorie). D'altra parte, class-dump estrae le informazioni di categoria, ma questo è dal binario e non al runtime.

C'è una menzione di struct objc_category in objc/runtime.h ma questo sembra privato. C'è un modo supportato?

risposta

6

dal "The Objective-C Programming Language" nel doc SDK:

metodi Categoria possono fare qualsiasi cosa che i metodi definiti nella classe adeguata può fare. Al momento dell'esecuzione, non c'è differenza.

il supporto per struct objc_category è stato rimosso con moderne obiettivo-c (ios, 10.5), rendendo queste informazioni opaca.

Ho paura che non sia possibile ottenere le informazioni desiderate.

+0

Grazie - questo spiega perché non sono riuscito a trovare un modo, allora! :) –