有的时候在需求中需要获取工程中所有的类名。例如在获取工程中继承某个类的列表。

核心代码如下:

 

    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。 一起探讨一起进步。。。。 

相关文章:

  • 2021-08-28
  • 2021-12-26
  • 2021-11-07
  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2021-05-31
  • 2021-09-28
猜你喜欢
  • 2022-12-23
  • 2021-11-15
  • 2021-10-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
相关资源
相似解决方案