在运行时获取类的详细信息?

时间:2011-02-06 20:28:51

标签: objective-c runtime categories

在Objective-C中,有没有办法在运行时列出特定类的类别?

使用Objective-C运行时函数,我可以获取类和实例方法,类层次结构,实例变量等的详细信息,但看起来不是类别信息。

查看F-Script,我发现它没有显示类别信息(实际上,它似乎根本不显示类别中的方法)。另一方面,类转储提取类别信息,但这是来自二进制而不是在运行时。

在objc / runtime.h中提到了struct objc_category,但这看起来是私有的。有支持的方式吗?

1 个答案:

答案 0 :(得分:6)

来自SDK doc中的"The Objective-C Programming Language"

  

类别方法可以执行本类中定义的方法可以执行的任何操作。在运行时,没有区别。

使用现代objective-c(ios,10.5)删除了对objc_category结构的支持,使此信息不透明。

我担心你无法得到你想要的信息。