我在这个循环中有一个调试器:
for view: UIView in containerView.subviews {
// debugger stops here!
var rect = CGRectMake(0,contentRect.size.height, self.view.frame.width, view.frame.height)
contentRect = CGRectUnion(contentRect, rect)
}
如果我跑:
(lldb) po view
<UILabel: 0x7ff45176f800; frame = (0 0; 11516.5 20.5); text = 'Many translations suggest...'; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x7ff45176fa10>>
我自然地假设我可以通过以下方式访问text
属性:
po view.text
但是回归:
error: <EXPR>:1:1: error: value of type 'UIView' has no member 'text'
如何访问此属性?
答案 0 :(得分:6)
与在代码中访问它的方式相同,您必须强制转换它,否则调试器仍会将view
视为UIView
实例:
// Swift
po (view as! UILabel).text
// Obj-C
po [(UILabel *) view text]