2009-11-25 67 views

回答

3

正確的斷點:

-[NSException raise] 

您可指示調試器在NSException類的-raise方法打破。 「[NSExceptionRaise]」是(意思是不尊重)廢話。 :-)

據我所知,你不需要兩者。 objc_exception_throw是「新」方式,而 - [NSException raise]是「舊」方式。我相信如果你使用Leopard或更高版本,只會調用objc_exception_throw。 10.4或之前會調用 - [NSException raise]。

+0

任何人都可以驗證10.5+ * *僅調用** ** objc_exception_throw?如果是這樣,我完全可以忘記這個[NSException raise]廢話。 – Meltemi 2009-11-25 18:09:27

+2

從10.5開始, - [NSException raise]調用objc_exception_throw。這就是爲什麼你不需要兩個。 – Ken 2009-11-25 18:29:22

0

新添加的斷點是-[NSException raise],這是從在後者[NSExceptionRaise]不同是對象方法(NSException屬於分類,raise作爲消息)。我不知道後者是什麼,我懷疑XCode試圖對你輸入的內容和它認爲你的意思有所瞭解。

0

你有一個加號或減號字符前言方法,因爲調試器使用的頭定位和定義符號。不同的方法可以具有相同的名稱,但以「+」開頭的方法是類方法,以「 - 」開頭的方法是實例方法。沒有加號或減號調試器不知道你想要什麼方法。