Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Obtain details of categories on a class at runtime?

In Objective-C, is there a way to list the categories on a particular class at runtime?

With the Objective-C runtime functions I can obtain details for the class and instance methods, class hierarchy, instance variables, etc. but seemingly not the category information.

Looking at F-Script, I see that it doesn't display category information (indeed, it appears not to display methods from categories at all). On the other hand, class-dump extracts category information but this is from the binary and not at runtime.

There's a mention of struct objc_category in objc/runtime.h but this looks to be private. Is there a supported way?

like image 547
Rufus Cable Avatar asked Feb 06 '11 20:02

Rufus Cable


1 Answers

from "The Objective-C Programming Language" in the SDK doc:

Category methods can do anything that methods defined in the class proper can do. At runtime, there’s no difference.

the support for objc_category struct has been removed with modern objective-c (ios, 10.5), making this information opaque.

I'm afraid you can't get the information you want.

like image 195
Olivier Tabone Avatar answered Nov 17 '22 00:11

Olivier Tabone