Получите все методы класса Objective C или экземпляра

В Objective C я могу протестировать, отвечают ли данный класс или экземпляр на определенные селекторы. Но как может запросить класс или экземпляр для всех его методов или свойств класса (например, список всех методов или свойств)?

38
задан Josh Caswell 5 February 2019 в 18:21
поделиться

2 ответа

Вы захотите использовать объективные методы выполнения C, см. Здесь: https://developer.apple.com/reference/objectivec/objective_c_runtime

9
ответ дан 27 November 2019 в 03:16
поделиться

Это возможно через objc_method_list. Для того, чтобы перечислить ваши методы, вам придется зарегистрировать все ваши методы перед рукой.

Процесс прямо вперед: после того, как вы объявили свою функцию, вы можете создать экземпляр OBJC_Method и зарегистрировать имя функции. Затем добавьте objc_method в objc_method_list и, наконец, передайте objc_method_list to class_adddmethods ..

Вот ссылка для начала: http://theocacao.com/document.page/327

4
ответ дан 27 November 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: