1

プロジェクトに Facebook sdk コードを追加したところ、既に json ライブラリがあったため、このエラーが発生しました。そのため、コンピューターとプロジェクトから Facebook json ライブラリを削除しましたが、それでもこのエラーが発生します。プロジェクト全体で「@interface SBJsonBase」を検索すると、1 つの結果しか得られません。インターフェースが 1 つしかないのに、どうして重複していると言えるのでしょうか? ファイルを2回含めていますか?検索ですべてが見つかるとは限りませんか?

4

5 に答える 5

1

これは役に立ちますか?派生データを削除し、クリーンなプロジェクトを実行してから、ビルドを再試行してください

于 2012-05-23T19:44:55.800 に答える
0

インポートの代わりに #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 フォルダにクラス ファイルが定義されていませんでした。それらを削除して、もう一度コピーしました。

于 2013-03-25T22:00:02.727 に答える
0

私は同様の問題を抱えていました。ちょっとした検索でしたが、新しいプロジェクトなどを作成せずに解決できました...問題は、クラスAをインポートしているクラスBがありました。次に、クラスBとクラスAをインポートしたクラスがありました。これを行うと、これらの問題が発生しました。例えば。SOAP Web サービス クラスは、Web 経由で渡されるすべてのエンティティをインポートします。

クラス goToSchoolWebservice。

「person.h」をインポート

「school.h」をインポート

...

次に、Logged in Person と webservice クラスへの参照を持つキャッシュに使用される Singleton クラスを用意しました。

「person.h」をインポート

「goToSchoolWebservice.h」をインポートします

--> ここが間違っているところです!! したがって、これらの循環参照に注意してください。それらを検出するのはそれほど簡単ではありません!

于 2012-12-06T09:01:40.200 に答える