Suppose I have Objective C interface SomeClass which has a class method called someMethod:
@interface SomeClass : NSObject {
}
In Objective-C, classes are objects as well. The class objects are treated differently, however, as they can call the instance methods of their root class (NSObject or NSProxy in Cocoa).
So it's possible to use all the instance methods defined in NSObject on class objects as well and the right way to dynamically invoke a class method is:
[aClass performSelector:@selector(aSelector)];
The apple docs are a bit more specific.