2011-02-06 6 views
8

En Objective-C, ¿hay alguna manera de enumerar las categorías en una clase particular en tiempo de ejecución?Obtener detalles de las categorías en una clase en tiempo de ejecución?

Con las funciones de tiempo de ejecución de Objective-C puedo obtener detalles para los métodos de clase e instancia, jerarquía de clases, variables de instancia, etc., pero aparentemente no la información de categoría.

Al mirar F-Script, veo que no muestra información de categoría (de hecho, parece que no muestra los métodos de las categorías en absoluto). Por otro lado, el volcado de clase extrae información de categoría, pero esto es del binario y no del tiempo de ejecución.

Hay una mención de struct objc_category en objc/runtime.h pero esto parece ser privado. ¿Hay alguna manera admitida?

Respuesta

6

de "The Objective-C Programming Language" en el doc SDK:

métodos Categoría pueden hacer cualquier cosa que los métodos definidos en la clase adecuados pueden hacer. En tiempo de ejecución, no hay diferencia.

el soporte para objc_category struct se ha eliminado con el moderno objetivo-c (ios, 10.5), por lo que esta información es opaca.

Me temo que no puede obtener la información que desea.

+0

Gracias - eso explica por qué no pude encontrar una manera, entonces! :) –

Cuestiones relacionadas