Если у вас есть Class
(мы назовем его MyClass
), то вы должны заставить его метакласс работать с методами класса.
Другими словами:
Class myClass = [MyClass class];
unsigned int numInstanceMethods = 0;
Method * instanceMethods = class_copyMethodList(myClass, &numInstanceMethods);
//instanceMethods is an array of all instance methods for MyClass
Class myMetaClass = objc_getMetaClass(class_getName(myClass));
unsigned int numClassMethods = 0;
Method * classMethods = class_copyMethodList(myMetaClass, &numClassMethods);
//classMethods is an array of all class methods for MyClass
По сути, класс предназначен для работы с вещами уровня экземпляра, а мета-класс для работы с вещами уровня класса.
Надеюсь, этого достаточно, чтобы помочь вам понять, куда идти дальше.,:)
Более удивительно полезная информация: http://www.sealiesoftware.com/blog/archive/2009/04/14/objc_explain_Classes_and_metaclasses.html