2011-05-28 22 views
0

時的警告我已經創建了一個UIViewController類別,以便我的每個UIViewControllers都有一個錯誤處理方法。 Unfortunatey現在每當我打電話從類別我得到在Xcode中以下警告此方法:如何擺脫在我的代碼中使用XCode類別

'MainWindowViewController' may not respond to '- (...method name...):' 

我們試圖讓我們的代碼沒有任何警告,所以我不知道是否有任何聰明的辦法來保持範疇,並得到擺脫如果「可能不響應」警告」。

感謝您的幫助!

回答

8

導入您的類被聲明爲在從該類別的方法是使用應消除警告實現文件的標題。

+0

我可能只是添加了可以將頭類別頭文件導入到應用程序的預編譯頭文件中,從而使類別在應用程序範圍內可用。 – TheBlack 2011-05-28 10:57:58

0

@Vladimir是對的,你需要在你的實現類中導入頭文件。

有可能是你的代碼的編譯過程中得到警告一個理由,

,如果你不聲明在頭文件中的方法,但落實在實現文件

0

弗拉基米爾是當然,是正確的。向類中添加一個類別使這些函數可用於該類的所有實例,無論頭文件是否爲#import。 Objective-C是一種動態語言。

但是,編譯器會警告您在編譯時無法看到這些消息的聲明。該代碼可能仍然有效;這就是爲什麼它會提出警告而不是錯誤。

我喜歡將類別導入需要該類別提供的擴展的類。我覺得這是提醒我依賴性的有用方法。然而,一些程序員認爲,因爲一個類爲類的所有實例提供了方法,所以將它添加到一個類中是毫無意義的。

如果您不想將類別導入到每個使用它的類中,但是您希望將類別標題清空編譯到pch文件中,

0

嘗試重新啓動XCode並清理。我有同樣的問題,肯定包括頭文件,但仍然收到警告。重新啓動並清理固定它。

0

當其他所有事情都明智無法解決問題時,請在違規行下方的新行重新輸入違規呼叫。

您可能會發現編譯器對新行感到滿意。刪除舊的行。 (讓你走HMMM的東西?)

我發現這種情況不止一次發生在xcode(和其他編輯器)上。當其他的都失敗時再次輸入該行。

+0

這很有趣,但我不確定這是問題的答案。 – 2013-06-04 20:11:08

+0

重新閱讀主題我可以看到我的回答並未真正解決問題。但是,它確實解決了有時出現的問題,它與原來的「爲什麼編譯器會在某些.m中抱怨類別方法而不是其他問題,即使我已經包含該類別。h,確保通話寫入正確,甚至重新啓動xcode?「然後是時候嘗試在另一條線路上重新輸入呼叫。 – 2013-06-05 20:44:17