有没有办法在调试视图层次结构中查看对象名称?

Is there a way to see object names in debug view hierarchy?

debug view hierarchy 是查看构成 UI 的不同层的好方法,但据我所知,没有办法查看插座引用名称对象有。它们被简单地称为它们是什么类型的对象。例如,按钮仅被称为 UIButton 而不是插座的名称。是的,可以在 viewController 中看到它所在的位置,但这不是万无一失的,而且仍然很难追踪到某些对象。

那么,有没有办法查看对象的引用出口叫什么?

不,没有(不幸的是)。

据我所知,这些信息不会在运行时维护,因此您也不会 能够使用 Xcode 控制台中的 lldb 来弄清楚.

可能值得向 Apple 提出功能请求! https://feedbackassistant.apple.com/

UIView.accessibilityIdentifier 做到了这一点。

对于NSLayoutConstraints,其在警告日志(或po constraint)中的描述在设置UIView.accessibilityIdentifer后包含更多详细信息。
在设置 accessibilityIdentifier 之前,它类似于

<NSLayoutConstraint: 0x6000037766c0 UILayoutGuide: 0x600002d6c620'UIViewSafeAreaLayoutGuide'.trailing == UILabel: 0x7fee70712780.trailing + 132 (active)>

设置后accessiblityIdentifier,

<NSLayoutConstraint:0x6000037766c0 UILayoutGuide:0x600002d6c620'UIViewSafeAreaLayoutGuide'.trailing == First-ID.trailing + 132 (active, names: First-ID:0x7fee70712780 )>

对于查看调试器,您可以检查accessibilityIdentifier如下