2012-07-17 115 views

回答

3

引擎蓋下,屬性被訪問。可以使用name方法來讀取名爲name的屬性,並且可以使用setName:方法來設置它。您可以使用調試器的po命令打印對象的描述。試試在調試器控制檯輸入此:

po [p name] 

po命令是通過發送debugDescription消息給你打印的對象,並且默認情況下,debugDescription僅僅發送description消息。所以,你可以將這個方法添加到您的Person類:

- (NSString *)description { 
    return [NSString stringWithFormat:@"<%@: %p name=%@>", self.class, self, self.name]; 
} 

然後你可以使用這樣的調試命令:

po p 

,並得到輸出是這樣的:

<Person: 0x10013fd60 name=Jack> 
+0

謝謝,所以你的意思是我可以只是列出調試區域中的所有屬性?或者有什麼辦法可以做到這一點?也許使用實例變量而不是屬性? – NOrder 2012-07-17 05:38:31

+0

無法看到所有實例變量是當前版本的Xcode中的一個問題。通過切換到LLDB調試器(在您的方案設置中),您可能會有更好的運氣,或者您可能只需等待未來版本的Xcode,並希望它已修復。 – 2012-07-17 06:41:43

+0

非常感謝 – NOrder 2012-07-17 07:51:29

1

如果搶的後沒有工作,那麼我會嘗試在控制檯中輸入bt(用於回溯)