2012-06-01 33 views
0

我做錯了什麼。我添加了一個表達式,我可以在Debug區域看到帶有「E」符號的表達式,但表達式並沒有被評估,它的值也沒有顯示出來(它在那個時間範圍內)。Xcode中的表達式4.3.2調試區域未評估

當我直接使用調試器(lldb)時,它運行良好。

expr. not evaluated in GUI

的Xcode 4.3.2。

我該怎麼辦?

謝謝

回答

3

您正在嘗試評估布爾值並將其作爲對象進行打印。

您想要使用print [self isEditing]print (BOOL)[self isEditing],這取決於調試器是否抱怨它不知道該成員的類型。

po命令會打印一個對象描述,而不是任意值,只應在右側表達式的結果爲對象(如po self)時使用。

在表達式編輯器中發生同樣的問題。如果使用表達式[self isEditing],調試器將無法理解它。但是,如果您使用(BOOL)[self isEditing],它將正確顯示。

+0

我很高興看到命令行調試器的結果。我希望看到在GUI中評估的表達式。如果在Xcode GUI中添加表達式時鍵入「print [self isEditing]」,它仍會精確顯示此字符串,無論如何它都不會被評估。 –

+0

對不起,我沒有直接說明,但它是同樣的問題。你需要在表達式中使用「(BOOL)[self isEditing]」,而不是「[self isEditing]」。嘗試添加一個像這樣的新表達式。我會更新我的答案。 – gaige

+0

完美,謝謝gaige!當我明確地說出表達結果類型時,它對所有這些類型都正常工作。 BOOLs,NSString * s,整數,... –

0

嘗試添加不帶方括號的表達式self.isEditing。在這裏工作

+0

我仍然必須指定(看起來像鑄造)表達式結果類型爲Gaige寫道。它在GUI上運行良好。 –