Ответ jxpx777 даст вам информацию, которую вы искали, но в случае, если вам нужно больше, среда выполнения имеет длинный список функций C, которые обеспечивают довольно полный самоанализ объектов и классов.
Например, если вы хотите NSArray
имен методов, реализованных классом, вы можете сделать что-то вроде этого:
Class myClass = [self class];
unsigned int methodCount;
Method *methods = class_copyMethodList(myClass, &methodCount);
NSMutableArray *methodNames = [NSMutableArray arrayWithCapacity:10];
for (int i = 0; i < methodCount; i++) {
const char *methodNameCStr = sel_getName(method_getName(methods[i]));
NSString *methName = [NSString stringWithCString:methodNameCStr
encoding:NSASCIIStringEncoding];
[methodNames addObject:methName];
}
free(methods);
NSLog(@"Methods: %@", methodNames);
Вы заметите, что простые вызовы C и Objective-C / Cocoa смешиваются свободно.