2011-08-05 45 views
1

我看到在我的日誌:我可以從'無法識別的選擇器'日誌消息中獲得什麼信息?

2011-08-05 17:29:45.994 Test[3834:707] -[MyClass copyWithZone:]: unrecognized selector sent to instance 0x102218b90

沒有這一行包含追查其中無法識別的選擇發送確切點什麼有用的信息?我的理解是3834是PID,但我不知道什麼是707值。還有,無法識別的選擇器copyWithZone:還是問題發生的地方? (儘管我不覆蓋該方法)

回答

2

copyWithZone:是無法識別的選擇器。它被髮送到MyClass的實例。我的猜測是你試圖使用這個對象作爲NSDictionary的關鍵?您只能使用符合NSCopying協議的對象作爲密鑰。

+0

你完全正確:) –

0

這看起來像你沒有使 MyClass NSObject的一個子類。 (對不起,@ jtbandes是對的,它不是NSObject,它是NSCopying。)

707是線程標識符。

要追蹤發生這種情況的位置,請在Xcode 3的運行菜單中選擇「停止目標C異常」。在Xcode 4中,使用exception breakpoint

+0

你確定約707是線程標識符嗎?我會假設線程標識符在不同的運行中發生變化,但是這個值是不變的。我會嘗試這個異常斷點!感謝您的回答。 –

相關問題