【发布时间】:2010-11-24 13:21:41
【问题描述】:
今天在我的代码中搜索错误时,我发现了一件奇怪的事情。在调试器中检查 UIView 实例时,Xcode 的变量视图不显示 UIView 类的 subviews 成员。
我只在调试器中看到这个字段(>应该表示开口三角形):
UIResponder
_层
_tabInfo
_gestureInfo
_touchData
- _充电
- _tag
_viewFlags
我错过了 _subviews 成员,并且想到了所有位置成员(至少其中一个应该在那里)。
有谁知道我遗漏了什么或做错了什么(据我所知这不是问题,因为谷歌搜索这个问题没有得到任何结果)。
我使用 Xcode 3.1.3 版:
- XcodeIDE:1191.0
- XcodeCore:1192.0
- Xcode 支持:1186.0
在装有 OS 10.5.7 和 iPhone SDK 2.2.1 的 Mac 上(我还使用 iPhone SDK 3.0 进行了测试)。
我希望有人对此有所了解。它给了我一种奇怪的感觉,我不能相信调试器会告诉我调试问题时我应该知道的一切。如果您需要不信任您的工具,那就不好了:(
【问题讨论】:
-
UIView 没有子视图成员。查看 UIView.h 文件。
-
这很有趣。但是有一个名为 subviews 的属性,您可以使用它来迭代代码中的所有子视图。在头文件中进一步查看时,我看到了该属性,它在 UIView 类别中定义:@interface UIView(UIViewHierarchy) 同样适用于我缺少的框架属性。因此,调试器无法显示类别中定义的成员。并感谢 .h 文件的提醒,我在编写任务时完全忘记了看那里 oO 这个结构接缝在我在这里拥有的所有 UIView.h 文件中都是相同的
标签: iphone xcode debugging uiview subview