在ARC之前,我有一個「X可能不會響應xxx」警告,這是一個非常無害的警告,並不妨礙它編譯。現在,我試圖將我的項目轉換爲ARC,並且我有一個「沒有可見的@interface for X聲明選擇器xxx」錯誤,這阻止了它的編譯。如何忽略「X沒有可見的@interface聲明選擇器」?
我完全知道我在做什麼,爲什麼警告在那裏,我可以告訴你程序是正確的。以前,編譯器沒有問題編譯它,現在不應該停止編譯。
這是事實,X類的接口不聲明選擇,但X是動態地處理任何消息,任何的選擇發送給它的類,使用forwardInvocation:
(即約Objective-C的美麗的事情之一),所以它的接口不可能聲明所有可以在其上調用的選擇器。並且選擇是某處聲明,只是沒有上十
該文件說:「爲了給您的對象並不認爲它自己的方法作出迴應,你必須重寫methodSignatureForSelector:「你做到了嗎? – rdelmar
也許這個答案可以幫助你。 http://rckoverflow.com/a/8002646/1341136 – hanjae
@rdelmar:不,這是一個編譯時錯誤。與運行時工作方式無關(工作正常) – user102008