【问题标题】:Is there a way to get class names of all view controllers of an iOS app?有没有办法获取 iOS 应用程序的所有视图控制器的类名?
【发布时间】:2019-03-15 21:48:46
【问题描述】:

通过遍历视图控制器层次结构来查找在运行时呈现的视图控制器并不是我在这里要问的事情,我知道这很简单。我只是想获取“可能”为当前构建呈现/推送的所有视图控制器的类名。我认为这可以通过递归遍历项目文件夹层次结构中的文件来实现。但是获取类名并不能为我们检查该类是否为UIViewController 子类铺平道路。也许在某种程度上是可能的。如果您知道实现此任务的方法,请与我分享。

【问题讨论】:

  • 你能告诉我你想用这个做什么吗?这需要在运行时发生吗?您是否正在尝试为文档构建图表?
  • 我正在尝试自动截取所有可能的屏幕并将这些图像与视图控制器匹配。不管它发生在运行时还是编译时,只要我得到我想要的。 :)

标签: ios objective-c swift uiviewcontroller


【解决方案1】:

以编程方式,我不确定您将如何完成此操作,但是您可以在“查找导航器”中使用正则表达式字符串挖掘视图控制器:

^class.*: UIViewController$

【讨论】:

  • 谢谢,但是这个案子呢? “X 类:Y { }”、“Y 类:UIViewController {}”?如何获取作为 UIViewController 子类的 X?此外,即使我找出了所有的类,此时仍然很难获得相关的视图控制器对象。
  • 点星捕获任何东西的字符串,因此正则表达式正在寻找以 class + 不管 (*.) + 开头的行:UIViewController
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-05
  • 1970-01-01
相关资源
最近更新 更多