web-dev-qa-db-ja.com

に表示される@interfaceはありません

このエラーは何度か発生しましたが、一般的なエラーの原因は不明です。スタックオーバーフローとグーグルで1時間以上探した後、私はまだ答えがありません。誰か助けてもらえますか?

いくつかの具体的な回答を見ましたが、エラーが発生する理由を示すものは何もありません。「do x」または「do y」のみです。

このエラーが発生するたびにコードを修正できるように、このエラーが一般的に発生する理由を知りたいので、まだコードを含めていません。

29
Shawn Sharp

それが起こる可能性のある理由はたくさんありますが、一般的には、コードの行ではフラグを立てているので、参照しているセレクターがオブジェクトが持っていると思う型のインターフェースにあるという証拠を見ていません。

この例では、

表示されるインターフェイスエラーなし

彼らはoperandStackを間違った型で宣言しました。

これで

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

セレクター名にタイプミスがありました

11
Lou Franco

別の理由は、ライブラリでカテゴリを使用していて、その他のリンカーフラグで-ObjC(または-all_load)を設定していない場合です。

2
Peter

Xcode 4.3(またはそれ以下)でXcode 4.3で記述されたコードを実行している可能性はありますか? 4.3+ Xcodeではプライベートメソッドを宣言する必要はまったくありませんでは、実装ファイルに記述されたメソッド(インターフェイスで宣言されていない)がプライベートであると見なされます。しかしXcode <= 4.2、これはエラーをスローしますで、これらのメソッドは少なくともプライベートに宣言される必要があります

2
JoeCortopassi

この問題が発生しました。私の原因は、メソッドをインスタンスメソッドではなくクラスメソッドとして設定したことです。とてもばか。

2
ratbum

別の一般的なエラーは、[someInstance setSomeValue:3]; [someInstance someValue:3]の代わりに(<-間違っています)。それが私に起こったこと。

1
Jeremias Erbs

この問題に遭遇したとき、Gitブランチの変更後にXcodeがファイルのインデックスを再作成しなかったことが判明しました。解決策は_Delete Derived Data_です。

Xcodeバージョン10.0を使用するFile -> Workspace Settings...(or Project Settings...) -> click on the little green circle and manually remove all files in DerivedData folder

enter image description here

0
yoAlex5