2

我正在开发一个具有多个 UIViews 的密集 iPhone 应用程序,其中发生了一些时髦的事情,并且很多视图被添加到子视图等等。

出于调试目的,我将断点放在我认为相关的地方,然后是 po 对象(即:

po [ [ self.view superview ] subviews ]) 现在这个命令确实给了我一些信息,但它没有告诉我 UIView 的名称(设计师给它的名称)它会告诉我它是一个 UIView 或 UIImageView .

我想我会问是否有人知道我可以在运行时与调试器一起使用的任何好命令以获得更多有见地的信息。

我也知道 po [self.view recursiveDescription] 顺便说一句。

谢谢。

4

1 回答 1

1

当您说“设计者给它的名称”时,您是在谈论Objective-C变量名称吗?我不知道有什么方法可以做到这一点。

您显然可以设置控件的数字tag属性(您可以通过 IB 以及通过代码为那些以编程方式创建的控件设置)。NSLog语句和调试器显示该属性tag。因此,您可以通过这种方式识别视图。它只是不是很用户友好。但是,如果您想查看文本名称,您可能必须在数字标签和对您有意义的描述性名称之间建立自己的映射,然后编写您自己的方法来遍历视图,解密标签是否可以,展示更有意义的东西。

似乎您也可以使用用户定义的运行时属性来做一些事情,但我也打赌这也会是很多子类化。

于 2012-11-24T19:52:34.160 回答