我正在开发一款拥有多个UIViews的密集iPhone应用程序,其中发生了一些时髦的事情,并且很多视图都添加到子视图等等。
出于调试目的,我将断点放在我认为相关的位置,然后是po对象(即:
po [[self.view superview] subviews] ) 现在这个命令确实给了我一些信息,但它没有告诉我UIView的名字(设计师给它的名字)它告诉我它是一个UIView或UIImageView。
以为我会问是否有人知道我可以在运行时使用调试器获得更好的命令来获得更有见地的信息。
我知道po [self.view recursiveDescription]太BTW。
感谢。
答案 0 :(得分:1)
当你说“设计师给它的名字”时,你在谈论Objective-C变量名吗?我不知道有什么方法可以做到这一点。
您显然可以设置控件的数字tag
属性(您可以通过IB设置这些属性以及通过编程创建的控件的代码)。 NSLog
语句和调试器显示tag
属性。因此,您可以通过这种方式识别视图。它不是非常用户友好。但是,如果你想查看文本名称,你可能需要在数字标签和对你有意义的描述性名称之间建立自己的映射,然后编写自己的方法迭代视图,解密标签就可以了,显示更有意义的东西。
看起来你可能也可以用用户定义的运行时属性做一些事情,但我也打赌这也会有很多子类化。