没有可见的@interface

我已经多次得到这个错误,并且一般不清楚导致错误的原因。 在堆栈溢出和谷歌寻找了一个多小时后,我仍然没有答案。 有人可以帮忙吗?

我已经看到了几个具体的答案,但没有说明错误发生的原因,只有“do x”或“do y”。

我还没有包括代码,因为我想知道这个错误发生的原因,所以我可以修复我的代码在将来每当我得到这个错误。

有很多原因可能发生,但通常是说,在它所标记的代码行处,没有看到任何证据表明你所引用的select器在它认为该对象所具有的types的接口中。

在这个例子中,

没有可见的界面错误

他们宣称operandStack的types是错误的。

在这一个

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=3312

他们在select器名称中有一个错字

任何机会,你在Xcode 4.2(或更less),运行在Xcode 4.3编写的代码? 在4.3+中,Xcode并不要求你声明私有方法 ,它只是假设写在实现文件中的方法(在接口中没有声明)是私有的。 但是在Xcode <= 4.2中,这会引发一个错误 ,这些方法至less需要私下声明

我刚刚有这个问题; 我是由我设置该方法作为一个类方法,而不是一个实例方法。 非常愚蠢。

另一个原因可能是在库中使用类别,并且在其他链接器标志中没有设置-ObjC(或-all_load)

另一个常见的错误是忘记写[someInstance setSomeValue :3]; 而不是[someInstance someValue:3](< – 错误)。 那发生在我身上。