我設法使用從互聯網下載的庫來將我的應用程序與Linkedin集成。我在兩個項目中成功完成了它,但現在我試圖將它與我的新應用程序集成,但是我收到了此錯誤消息。我在這兩個項目中使用的課程都非常好。錯誤EXC_BAD_ACCESS和發送到實例的無法識別的選擇器
我應該檢查什麼?我從昨天開始掙扎,但沒有結果。
我設法使用從互聯網下載的庫來將我的應用程序與Linkedin集成。我在兩個項目中成功完成了它,但現在我試圖將它與我的新應用程序集成,但是我收到了此錯誤消息。我在這兩個項目中使用的課程都非常好。錯誤EXC_BAD_ACCESS和發送到實例的無法識別的選擇器
我應該檢查什麼?我從昨天開始掙扎,但沒有結果。
它看起來就像你在NSSet
而不是NSURL
傳遞(基於錯誤信息reason: '-[NSCFSet absoluteURL: unrecognized selector sent to instance
)。在沒有看到更多代碼的情況下,我會在崩潰的行上設置一個斷點,並檢查代碼在NSSet
中的傳遞位置,作爲NSURL
。目標C(如C)是弱類型的,意味着像NSString *notAString = @YES;
這樣的東西將編譯並運行,儘管顯然是錯誤的。注意,如果你試圖詢問這個「字符串」的長度,你的程序將會崩潰,就像你上面看到的錯誤一樣。
你是我的英雄。當NSURL到達該方法時爲空。幸運的是,它存儲了一個常量URL,因此我只需將其替換爲我需要的字符串即可。我將調查爲什麼它會出現空白,並且在其他項目中沒有問題。 – Meeshoo 2014-09-26 16:11:50
你確定空URL是問題嗎? Objective C的一個非常獨特的特性是它處理空對象的方式 - 具體地說,向空對象發送消息只是返回null,而不是象幾乎所有其他語言一樣拋出異常或崩潰。您的問題中的錯誤看起來像對象有一個值,而不是崩潰函數預期的值的類型。 – oltman 2014-09-26 18:02:35
我認爲這個問題是由URL變量在@interface後面直接在括號內聲明的。我使它成爲一個財產,我的問題得到解決。之後,我意識到該類具有-fno-objc-arc編譯器標誌,儘管它使用的是ARC。 – Meeshoo 2014-09-27 21:12:17
'aURL'參數實際上是一個'NSURL'? – Larme 2014-09-26 15:32:14