2011-02-06 2 views
8

В Objective-C есть ли способ отображения категорий в определенном классе во время выполнения?Получить сведения о категориях в классе во время выполнения?

С помощью функций выполнения Objective-C я могу получить детали для методов класса и экземпляра, иерархии классов, переменных экземпляра и т. Д., Но, по-видимому, это не информация о категории.

Глядя на F-Script, я вижу, что он не отображает информацию о категории (действительно, он вообще не отображает методы из категорий). С другой стороны, класс-дамп извлекает информацию о категории, но это из двоичного, а не во время выполнения.

В objc/runtime.h упоминается структура objc_category, но это выглядит как конфиденциальное. Есть ли поддерживаемый способ?

ответ

6

из "The Objective-C Programming Language" в SDK документ:

Категория методы могут сделать что-нибудь, что методы, определенные в классе собственно может сделать. Во время выполнения нет никакой разницы.

Поддержка структуры objc_category удалена с помощью современной цели-c (ios, 10.5), что делает эту информацию непрозрачной.

Боюсь, что вы не можете получить нужную информацию.

+0

Спасибо - это объясняет, почему я не мог найти способ, то! :) –

Смежные вопросы