2012-10-22 63 views
0

這已經給我多次打擾了。使用xcode進行調試時,我們如何快速瞭解視圖(或其他信息)的框架?

我正在調試一個自定義子視圖的例子。

我想知道我的自定義子視圖所具有的子視圖的類型。

I型:

(lldb) po self.subviews 
error: property 'subviews' not found on object of type 'BGBaseOfAllUIView *' 
error: 1 errors parsing expression 
(lldb) 

因爲自我是哪個白癡擁有的UIView爲祖先不支持.subviews財產。

I型

(lldb) po self 
(BGDetailBusinessViewController *) $2 = 0x088d01f0 <BGDetailBusinessViewController: 0x88d01f0> 

這是不是有很多的信息。它並沒有解釋框架是什麼或是什麼地方。

所謂的變量視圖也沒有幫助。

enter image description here

說我想知道一些簡單的信息。什麼是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) 

但是,這不是真正的時間。我必須先修改程序並插入內容才能獲取這些簡單的信息。

我錯過了什麼?

回答

1

請避免在你的問題中呻吟 - 人們在閱讀任何真正的問題之前必須閱讀大量的「它不工作,我想要它」,這是我們在這裏不是爲了傾聽你發泄你的挫折。

首先要注意的是:BGDetailBusinessViewController是一個viewController而不是一個視圖 - 所以沒有它沒有子視圖,但它管理視圖層次結構。根視圖將是名爲view的伊娃。

因此,要獲得你需要做的是這樣

po [self.view subviews] 
+0

我刪除OOOOO子視圖。我確定自己是UIView。讓我再檢查一次。 –

+0

好的+1爲你指出。如果問題很簡單,我不會在這裏呻吟。我修改了這個問題,使用了一個自我確實是uiview的示例。 –

+0

有趣的是po self.subviews不起作用,但是po [self subviews]工作。 –

相關問題