我有我要調試的方法:訪問類的斷點條件
-(void)doAThingWithObject:(BaseDataObject *)dataObject //called VERY often
而且我有這個方法,我只希望在BaseDataObject的某些子類打破內部的Xcode的斷點,所以我添加一個斷點W /有條件以檢查類:
[dataObject isKindOfClass:[SubClassOfBaseDataObject class]]
然而,這樣做的一個分析錯誤的結果!
Stopped due to an error evaluating condition of breakpoint 11.1: "[dataObject isKindOfClass:[SubClassOfBaseDataObject class]]"
Couldn't parse conditional expression:
error: no known method '+class'; cast the message send to the method's return type
error: 1 errors parsing expression
我已經確保導入文件中的所有類,但調試器不知道我在條件中引用了哪些類。
但是,創建的臨時變量中的斷點前該方法在所述類別:
Class subClassCheck = [SubClassOfBaseDataObject class];
以及更新所述斷點條件,以引用臨時變量:
[dataObject isKindOfClass:subClassCheck]
拋出沒有錯誤。
當談到斷點條件時,我有點新手,有人可以解釋爲什麼我的第一種方法不起作用嗎?
這是迄今爲止我在StackOverflow上收到的最令人滿意的答案。它描述了我發現的內容,解釋了我找到的環境,甚至在與調試器打交道的過程中,我會用其他方式警告我。 我也很高興我的期望是(某種程度上)正確的,這是一個值得發現的錯誤報告。在此期間,我可以採取一種解決方法?人們還能要求什麼? – Andrew