有的时候在需求中需要获取工程中所有的类名。例如在获取工程中继承某个类的列表。
核心代码如下:
unsigned int count = 0; const char **classes = nil; Dl_info info; dladdr(&_mh_execute_header, &info); NSLog(@"%s", info.dli_fname); /* info.dli_fame 是工程编译时工程的路径 objc_copyClassNamesForImage 返回所有类的名称 */ classes = objc_copyClassNamesForImage(info.dli_fname, &count); for (int index = 0; index < count; ++index) { NSString *className = [NSString stringWithCString:classes[index] encoding:NSUTF8StringEncoding]; NSLog(@"className = %@", className); }
若有疑问请加本人QQ:610774281 微信:stephenli225。 一起探讨一起进步。。。。