プロジェクトに Facebook sdk コードを追加したところ、既に json ライブラリがあったため、このエラーが発生しました。そのため、コンピューターとプロジェクトから Facebook json ライブラリを削除しましたが、それでもこのエラーが発生します。プロジェクト全体で「@interface SBJsonBase」を検索すると、1 つの結果しか得られません。インターフェースが 1 つしかないのに、どうして重複していると言えるのでしょうか? ファイルを2回含めていますか?検索ですべてが見つかるとは限りませんか?
5 に答える
これは役に立ちますか?派生データを削除し、クリーンなプロジェクトを実行してから、ビルドを再試行してください
インポートの代わりに #include を使用している場合は、この手法を使用して重複を最小限に抑えます。インターフェイスの最初 (実際にはその直前) で定義を確認し、定義されていない場合はそれを定義し、インターフェイスの定義に進みます。以下に例を示します。
#ifndef __NetworkOptionsViewController__H // check if this has every been imported before
#define __NetworkOptionsViewController__H
#import "blahblah.h"
@interface NetworkOptionsViewController : UITableViewController
{
NSMutableArray* somevariable1;
int somevariable2;
}
@end
#endif
--個人的には、クラスへのファイルパスが間違っていたため、このエラーが発生しました。ファイル インスペクタを確認したところ、IDE で定義されているにもかかわらず、Classes フォルダにクラス ファイルが定義されていませんでした。それらを削除して、もう一度コピーしました。
私は同様の問題を抱えていました。ちょっとした検索でしたが、新しいプロジェクトなどを作成せずに解決できました...問題は、クラスAをインポートしているクラスBがありました。次に、クラスBとクラスAをインポートしたクラスがありました。これを行うと、これらの問題が発生しました。例えば。SOAP Web サービス クラスは、Web 経由で渡されるすべてのエンティティをインポートします。
クラス goToSchoolWebservice。
「person.h」をインポート
「school.h」をインポート
...
次に、Logged in Person と webservice クラスへの参照を持つキャッシュに使用される Singleton クラスを用意しました。
「person.h」をインポート
「goToSchoolWebservice.h」をインポートします
--> ここが間違っているところです!! したがって、これらの循環参照に注意してください。それらを検出するのはそれほど簡単ではありません!