这困扰了我好几次。
例如,我正在调试一个自定义子视图。
我想知道我的自定义子视图具有的子视图类型。
我输入:
(lldb) po self.subviews
error: property 'subviews' not found on object of type 'BGBaseOfAllUIView *'
error: 1 errors parsing expression
(lldb)
这是愚蠢的,因为 self 具有 UIView 作为祖先并且支持 .subviews 属性。
我打字
(lldb) po self
(BGDetailBusinessViewController *) $2 = 0x088d01f0 <BGDetailBusinessViewController: 0x88d01f0>
这不是很多信息。它没有解释框架是什么或事情的去向。
所谓的变量视图也无济于事。
假设我想知道一些简单的信息。什么是 self.subviews?什么是self.frame?
为什么做这么简单的事情这么难?
如何做到这一点的唯一方法是从我的朋友那里借一个代码并添加
#define CLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#define PO(x) CLog(@#x ": %@", x)
但这不是实时的。我必须先修改程序并插入东西才能获得简单的信息。
我错过了什么?